listA
とlistB
のペアワイズプロダクトの合計を返すPython関数を書く必要があります(2つのリストは常に同じ長さであり、2つの整数リストです)。TypeError:Pythonでドットプロダクトを計算する
例えば、listA = [1, 2, 3]
場合とlistB = [4, 5, 6]
、内積が1*4 + 2*5 + 3*6
なので、関数が返す必要があります:32
これは私がこれまでにコードを書いた方法ですが、それはエラーを生成します。
def dotProduct(listA, listB):
'''
listA: a list of numbers
listB: a list of numbers of the same length as listA
'''
sum([listA[i][0]*listB[i] for i in range(len(listB))])
それは出力します。リストの要素は、要素単位乗算することができるように
TypeError: 'int' object is not subscriptable
は、どのように私はこのコードを変更することができますか?
削除 '[0]'、Aは、リスト – marcadian
のリストは 'listA'は整数のリストである場合には、' LISTA [i]は '整数である、リストではありません。だから、あなたは 'listA [i] [0]'をどうすればいいのですか? –
'' sum(a * bはzip(listA、listB)の 'b ' – hpaulj