将类元素添加到列表元素

时间:2017-11-11 21:15:06

标签: python list class

我有一个班级

class Vector():
    def __init__(self, *args):
        self.coords = list(args)
    def __add__(self, other):
        temp = []
        for i in range(len(self)):
            tmp.append(self[i] + other[i])
        print(str(tmp))
        return Vector(*tmp)
    def __getitem__(self, key):
        return self.coords[key]

目标是使Vector类对象的行为与向量相似。我想做这样的加法操作

list = [0, 1, 2, 3]
v1 = Vector(3, 2, 1, 0)
result1 = v1 + list
result2 = list + v1

得到这个结果:

result1 = Vector(3, 3, 3, 3)
result2 = Vector(3, 3, 3, 3)

当我定义 getitem 方法时,Vector类开始支持索引并且result1是正确的。但是result 2会返回TypeError: can only concatenate list (not "Vector") to list。我没有想法应该解决这个问题。

0 个答案:

没有答案