我只是试图缩短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?
为什么要追加到嵌套列表,又追加到列表中的所有嵌套列表?
所有嵌套列表是否都指向一个列表?如果是这样,列表的原始副本在哪里?
答案 0 :(得分:0)
是的,所有嵌套列表都指向一个列表。
如果是这样,列表的原始副本在哪里?
不确定您要问什么。每个嵌套列表都指向原始列表。