我在使用python3製作矩陣乘法算法時遇到了問題。TypeError:'int'object is not subscriptable(python)
這是代碼:
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
是什麼。
好的指數,謝謝你幫助。你會如何建議我處理一維矩陣? – tudorv
@tudorv:好,你怎麼做*一般用一個二維數組乘以一維數組?您可以傳遞一個二維數組,每列只有一列,或者您需要調整您的乘法代碼以使用一維數組。 –