gpt4 book ai didi

python - 为什么单独附加一个列表会创建一个无限列表

转载 作者:太空狗 更新时间:2023-10-30 01:58:25 26 4
gpt4 key购买 nike

l = [1, 2]
l.append(l)
>>>l
[1, 2, [...]] #l is an infinite list

为什么这会创建一个无限列表而不是创建:

l = [1, 2]
l.append(l)
>>>l
[1, 2, [1, 2]]

最佳答案

当你这样做时:

l.append(l)

对列表 l引用附加到列表l:

>>> l = [1, 2]
>>> l.append(l)
>>> l is l[2]
True
>>>

换句话说,你把列表放在它自己里面。这会创建一个无限引用循环,由 [...] 表示。


要执行您想要的操作,您需要附加列表 l副本:

>>> l = [1, 2]
>>> l.append(l[:]) # Could also do 'l.append(list(l))' or 'l.append(l.copy())'
>>> l
[1, 2, [1, 2]]
>>> l is l[2]
False
>>>

关于python - 为什么单独附加一个列表会创建一个无限列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28227397/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com