私はベクトルで行列を乗ろうとしています。そして、pythonはエラーを投げつけ続けます。私が試しているコードは次のとおりです。Pythonでのベクトル行列の乗算?
def matmult(m, v):
rows = len(m)
w = [0]*rows
irange = range(len(v))
sum = 0
for j in range(rows):
r = m[j]
for i in irange:
sum += r[i]*v[i]
w[j],sum = sum,0
return w
これは私のものではありませんが、怒って削除する前にコード化したものです。エラー:TypeError:+: 'int'と 'list'のサポートされていないオペランドタイプ
私は、Pythonがベクトルをintまたはリストとして見ていて、何もしないと思っていますタイプの違いによる基本的な演算子。これを回避する方法はありますか?残念ながら私はナンシーを使うことはできません。ここで
エラーは 'sum + = r [i] * v [i]'行にありました。 – Ammar
'r [i] * v [i]'はリストで、おそらく 'r [i]'はリストで、 'm [j] [i]'がリストであることを意味します。使用している 'm'の値を表示できますか? – Dougal
**宿題のように臭い** ** – KurzedMetal