python创建矩阵不用numpy_python实现矩阵乘法(不用numpy)

本文介绍如何在不使用numpy库的情况下用Python实现矩阵乘法。通过一个具体的例子展示了在初始化全0矩阵时的一个常见错误,并解释了错误的原因及正确的初始化方法。最后提到了Python列表复制的几种方式及其潜在问题。
摘要由CSDN通过智能技术生成

python实现矩阵乘法

不使用其他库的情况下实现矩阵乘法

在不使用numpy库的情况下实现矩阵乘法,看起来很简单,但这之中也是存在坑的。比如如下代码:

class mat_mul():

def mm(self,A,B):

row_len = len(A)

column_len = len(B[0])

cross_len = len(B)

res_mat = [[0] * row_len] * column_lenfor i in range(row_len):

for j in range(column_len):

for k in range(cross_len):

temp = A[i][k] * B[k][j]

res_mat[i][j] += temp

print "==="

print res_mat

def main():

A = [[1,1,1],[2,0,2]]

B = [[0,1],[1,0],[1,1]]

m = mat_mul()

m.mm(A,B)

if __name__ == '__main__':

main()

结果本应该是

可是最终程序运行完结果却是

最终将中间结果输出,发现问题出现在矩阵初始化阶段:

res_mat =

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值