所以我在Python中遇到了很奇怪的东西。我试着给自己添加一个对列表的引用。该代码可能有助于证明我说的比我能表达的更好。我正在使用IDLE编辑器(交互模式)。对本身的列表递归引用
>>>l=[1,2,3]
>>>l.append(l)
>>>print(l)
[1,2,3,[...]]
>>>del l[:-1]
>>>print(l)
[[...]]
到目前为止输出如预期。但是当我这样做。
y=l[:]
print(y)
对我来说,似乎输出应该
[[...]]
但它是
[[[...]]]
显然不是创建表的副本,它把一个参考列表y。
y [0]是l返回True。我似乎无法找到一个很好的解释。有任何想法吗?
你能否详细说明一下?你失去了我在**“它开始打印y:[???] ..... ** – Guy
另外如果我真的想要一份清单的副本?我知道我可以在这种情况下对y做同样的处理,但为了讨论的缘故,我有办法做到这一点吗? – Guy
@Sabyasachi:这样更清楚吗? – hivert