コードのテスト中にいくつかのエラーが発生しました - 数学演算の後、リストはそれ自体の最後の項目に「縮小」します
Python 3.3 インタープリターでは問題なく動作します...
a = [a + b for a, b in zip(a, b)]
このコードを使用して、いくつかのリスト項目を追加しています
a = [1, 2, 3]
b = [2, 3, 2]
これは正常に動作し、戻ります
>>> a
[3, 5, 5]
>>> b
[2, 3, 2]
次に、より多くのリストを処理するクラスを作成しました。
class Vector:
def __init__(self, name = '', vector = []):
self.__name = name
self.__vector = vector
def add_row_to_scalar_multiple(self, vector):
self.__vector = [self.__vector + vector.__vector for self.__vector, vector.__vector in zip(self.__vector, vector.__vector)]
def __str__(self):
vec = ('{0} = {1}'.format(self.__name, self.__vector))
formatted_vec = vec.replace(',', '')
return formatted_vec
上記と同じリストでコードを実行すると、1 つのリストが 1 つの整数に縮小されます。
vec_a = Vector('a', [1, 2, 3])
vec_b = Vector('b', [2, 3, 2])
a = [1, 2, 3]
b = [2, 3, 2]
vec_b.add_row_to_scalar_multiple(vec_a)
a = 3
b = [3, 5, 5]
私は自分が間違っていることを理解できないので、誰か助けてください??