Python参考附加列表

杰瑞姆

我有点困惑这是如何工作的。

x = []
y = []
for i in range(5):
    y.append(i) # Why does this create full copies of sub lists?
    x.append(y)
    #x.extend(y) # This works normal

print x

为什么x.append(y)注意最终结果如下?您能否解释一下是否有一些背景参考值?

[[0, 1, 2, 3, 4], [0, 1, 2, 3, 4], [0, 1, 2, 3, 4], [0, 1, 2, 3, 4], [0, 1, 2, 3, 4]]
格雷格·休吉尔

指向的只有一个对象y它从一个空列表开始。每次循环时,您都将使单个对象变长。该列表x与基本上相同[y, y, y, y, y],从而为您提供了所描述的结果。

使用时x.extend(y),的当前元素将y被复制到列表的末尾x这是完全不同的操作。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章