python增删查我们可以自定义一个列表类,在该类中重载运算符,使列表中各元素分别与数值相加、相减、相乘或相除后所得的结果组成该列表的新元素。本案例要求编写代码,重载运算符,使列表支持四则运算。 1. 实例目标 改列表
时间: 2024-10-19 16:17:46 浏览: 16
Python实现两个list对应元素相减操作示例
5星 · 资源好评率100%
在Python中,你可以通过定义类并重载`__add__`, `__sub__`, `__mul__`, 和 `__truediv__` 这些特殊方法来让列表支持自定义的四则运算。这里是一个简单的例子,创建一个ListAdder类,它会操作列表中的元素:
```python
class ListAdder:
def __init__(self, elements):
self.elements = elements
# 重载加法运算符
def __add__(self, other):
if isinstance(other, (int, float)):
return [x + other for x in self.elements]
else:
raise TypeError("Unsupported operand type(s) for +")
# 重载减法运算符
def __sub__(self, other):
if isinstance(other, (int, float)):
return [x - other for x in self.elements]
else:
raise TypeError("Unsupported operand type(s) for -")
# 重载乘法运算符
def __mul__(self, other):
if isinstance(other, (int, float)):
return [x * other for x in self.elements]
else:
raise TypeError("Unsupported operand type(s) for *")
# 重载除法运算符(注意这里我们使用浮点数除法,__truediv__)
def __truediv__(self, other):
if isinstance(other, (int, float)):
return [x / other for x in self.elements]
else:
raise TypeError("Unsupported operand type(s) for /")
# 示例用法
my_list = ListAdder([1, 2, 3])
new_list_addition = my_list + 5 # [6, 7, 8]
new_list_subtraction = my_list - 2 # [3, 0, 1]
new_list_multiplication = my_list * 2 # [2, 4, 6]
new_list_division = my_list / 2 # [0.5, 1.0, 1.5]
阅读全文