Я пытаюсь создать метод (сумму), который принимает переменное число векторов и добавляет их. Для образовательных целей я написал собственный класс Vector
, а базовые данные - хранится в переменной экземпляра с именем data.Pythonic способ добавить список векторов
Мой код для @classmethod
сумма работает (для каждого из векторов, прошедших через, перебирает каждый элемент в переменной данных и добавляет его в список результатов), но кажется не-питоническим, и задается вопросом, существует ли лучший путь?
class Vector(object):
def __init__(self, data):
self.data = data
@classmethod
def sum(cls, *args):
result = [0 for _ in range(len(args[0].data))]
for v in args:
if len(v.data) != len(result): raise
for i, element in enumerate(v.data):
result[i] += element
return cls(result)
http://codereview.stackexchange.com –
Почему метод класса? – msw
Я думал, что сумма должна вернуть новый вектор и, таким образом, использовать метод класса. –