所以我试图乘以一个向量的矩阵。 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或列表,并且不会执行任何操作基本操作员由于类型的不同而不同。任何方法来解决这个问题?不幸的是我不能使用Numpy。
的错误出现在'sum + = r [i] * v [i]'行中。 – Ammar
它看起来像'r [i] * v [i]'是一个列表,这可能意味着'r [i]'是一个列表,意味着'm [j] [i]'是一个列表。你能打印出你正在使用的'm'的值吗? – Dougal
它闻起来像**作业** – KurzedMetal