【发布时间】:2015-07-31 05:52:54
【问题描述】:
我在 python3 中制作矩阵乘法算法时遇到问题。
这是代码:
def matrixMult(m1, m2):
result = [[0 for x in range(len(m1))] for x in range(len(m2[0]))]
# Iterate through rows of m1.
for i in range(len(m1)):
# Iterate through columns of m2.
for j in range(len(m2[0])):
# Iterate through rows of m2.
for k in range(len(m2)):
result[i][j] += m1[i][k] * m2[k][j] # error occurs here.
return result
尝试在两个随机矩阵上调用它,如下所示:
m = [3, 4, 2]
n = [[13, 9, 7, 15], [8, 7, 4, 6], [6, 4, 0, 3]]
r = matrixMult(m, n)
这会产生TypeError: 'int' object is not subscriptable 消息。
我为上面声明的两个矩阵添加了print(type()),它们属于'list' 类。对函数原型中使用的类 'list' 做了同样的事情。见鬼,一切都是'list' 类型。我不知道int object 是什么。
【问题讨论】:
标签: python object matrix int multiplication