<分区> 分区>
我已经使用 Python 多年了,但我注意到一件非常令人困惑的事情。
a=[[]]*3
a[0].append(3)
和
a=[[] for i in range(3)]
a[0].append(3)
即使类型(列表)相同,也不会产生相同的效果。 第一个产生 a=[[3], [3], [3]],第二个 a=[[3],[],[]](如预期)。
有人有解释吗?
<分区> 分区>
我已经使用 Python 多年了,但我注意到一件非常令人困惑的事情。
a=[[]]*3
a[0].append(3)
和
a=[[] for i in range(3)]
a[0].append(3)
即使类型(列表)相同,也不会产生相同的效果。 第一个产生 a=[[3], [3], [3]],第二个 a=[[3],[],[]](如预期)。
有人有解释吗?