Skip to main content
 首页 » 编程设计

python之在python中初始化矩阵

2025年05月04日21duanxz

<分区>

Possible Duplicate:
Python list problem

我尝试在 python 中初始化一个矩阵。 首先我这样做了:

>>> M=[[0]*4]*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]] 

所以我是这样做的:

>>> M= [ [ 0 for i in range(4) ] for j in range(4) ] 

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]] 

我的问题是:

这两个表达式的真正含义是什么?为什么第一个会这样?

在此先感谢您的帮助。