嵌套列表追加

时间:2019-06-23 06:11:23

标签: python python-3.x list append

我只是试图缩短python中的代码片段,并遇到了以下代码的奇怪工作方式。

sample = [[]] * 3

# OUTPUT - [[], [], []] - Simple enough to understand

sample[0].append(1)

# OUTPUT - [[1],[1],[1]] - Why is this happening?

sample[1].append(2) 

# OUTPUT - [[1,2],[1,2],[1,2]] - Why is this happening?

sample[2].append(3) 

# OUTPUT - [[1,2,3],[1,2,3],[1,2,3]] - Why is this happening?

为什么要追加到嵌套列表,又追加到列表中的所有嵌套列表?

所有嵌套列表是否都指向一个列表?如果是这样,列表的原始副本在哪里?

1 个答案:

答案 0 :(得分:0)

是的,所有嵌套列表都指向一个列表。

  

如果是这样,列表的原始副本在哪里?

不确定您要问什么。每个嵌套列表都指向原始列表。