所以我在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。我似乎找不到一个很好的解释。有任何想法吗?