我是Python的新手。我用以下代码创建了两个嵌套列表:
m = [[0,0,0],[0,0,0],[0,0,0]]
n = [[0]*3]*3
如果我没有弄错,这是创建相同列表的两种不同方式,因此m和n应该相同。但是当我尝试修改一个元素时,请说:
m[1][0] = 4
n[1][0] = 4
我得到的是:
m = [[0, 0, 0], [4, 0, 0], [0, 0, 0]]
n = [[4, 0, 0], [4, 0, 0], [4, 0, 0]]
在m中,我只是按照我的预期修改m [1] [0]元素。但在n中,所有列表的第一个元素都被修改。
为什么我会得到不同的结果? m和n真的相同吗?
为什么n列表的行为是这样的?