在python中以不同的方式创建列表导致不同的情况

时间:2019-06-22 04:12:27

标签: python python-3.x

当我尝试使用seqlist=[[]]*3创建由非空列表序列组成的列表并尝试将结果附加到其第一个索引中时,结果将同时附加到两个结果中。为什么会这样呢?

当我尝试更改某个索引处的元素时,结果也会反映在其他序列上。

seqlist=[[]]*3
print(seqlist)
seqlist[0].append(3)
print(seqlist)
seqlist[0][0]=2
print(seqlist)

我除了输出是:

[[],[],[]]
[[3],[],[]]
[[2],[],[]]

但是他的实际输出是:

[[],[],[]]
[[3],[3],[3]]
[[2],[2],[2]]

0 个答案:

没有答案