編集:回答ありがとうございます。これは役に立ちますが、私の問題の核心に到達しているかどうかはわかりません。場合によっては、リストの下位を選択してそれに応じて値を追加するだけでよい場合もありますが、この場合、実際には不均一なリストを短い方のリストに欠落している値がゼロであるかのように扱いたいと考えています。[1, 2, 3] + [1, 2] を [1, 2, 3] + [1, 2, 0] として機能させたいのです。zip や演算子を逆にしても、これが達成されるとは思いません。
2 つのリストの対応する値を追加し、2 つの元のリストの各インデックスの合計を含む新しいリストを返す関数を作成しようとしています。
def addVectors(v1, v2):
print(v1[0], v1[1], v2[0])
newVector = []
if len(v1) > len(v2):
for index in range(len(v1)):
print(index)
newVector[index] += v1[index] + v2[index]
else:
for index in range(len(v2)):
print(index)
newVector[index] += v2[index] + v1[index]
return newVector
addVectors([1, 2, 3], [1, 2])
それでも、リストのインデックスが範囲外であるというエラーが表示されますか? この一見単純なプログラムで何が間違っているのかわかりません....