我尝试初始化Python中的矩阵。 首先,我这样做:
>>> M=[[0]*4]*4
但这里是我probleme,每行正在改变当我改变了第一个:
>>> M= [ [ 0 for i in range(4) ] for j in range(4) ]
:
>>> M
[[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]
>>> M[1][1]=1
>>> M
[[0, 1, 0, 0], [0, 1, 0, 0], [0, 1, 0, 0], [0, 1, 0, 0]]
所以我这样做了
而且ut工作正常:
>>> M
[[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]
>>> M[1][1]=1
>>> M
[[0, 0, 0, 0], [0, 1, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]
我的问题是:
这两个表达式的真正含义是什么?回答为什么第一个人会这样做?
在此先感谢您的帮助。