我需要在Python3中将任意两个矩阵(具有允许的正确尺寸)相乘,而不使用除数学之外的任何导入。 (所以不要麻木)。
那是我想出的:
def dotMatrix(m1, m2):
m1rows = len(m1[0])
m1cols = len(m1)
m2rows = len(m1[0])
m2cols = len(m2)
newcolumn = [0]*m2cols
m = [newcolumn]*m2rows
sum = 0
for a in range(m1rows):
for b in range(m2rows):
for c in range(m2cols):
sum += m1[a][c]*m2[c][b]
m[a][b] = sum
sum = 0
return m
a = [[1,4],[2,5],[3,6]]
b = [[7,9,11],[8,10,12]]
c = dotMatrix(a,b)
print(c)
应该返回[[58,139],[64,154]]
,但返回[[54, 68], [54, 68]]
。为什么会这样?
我正在研究mathisfun
上的示例