如何解决python中矩阵乘法的错误结果
我正在尝试使用python将两个矩阵相乘。为了创建结果矩阵,我使用python的list属性,即result = [[0] * len(matrix1)* len(matrix2 [0])。但是,我得到的输出不正确。
def matrix_mult(a,b):
if len(a[0]) != len(b):
return "invalid input"
result = [[0] * len(a)] * len(b[0])
# result = [[0,0],[0,0]]
for i in range(0,len(a)):
for j in range(0,len(b[0])):
for k in range(0,len(b)):
result[i][j] += a[i][k] * b[k][j]
return result
a = [[1,1],[2,2]]
b = [[1,2]]
print(matrix_mult(a,b))
输出为[[9,9],[9,9]] 但是,正确的答案是[[3,3],[6,6]]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。