正在尝试将列表附加到它自己的列表中。。。会发生什么?

2024-04-26 23:13:16 发布

您现在位置:Python中文网/ 问答频道 /正文

list1 = ['inception', 'dream', 'movie']
list2 = list1
list1.append(list2)
list1

如果我在终端上运行这个代码

['inception', 'dream', 'movie',[...]]

是输出。如果我将一个列表附加到它自己的列表中会发生什么?你知道吗


Tags: 代码终端列表moviedreaminceptionappendlist2
1条回答
网友
1楼 · 发布于 2024-04-26 23:13:16

列表元素只是对其他Python值的引用。您已经在列表中存储了对列表本身的引用。你知道吗

列表表示反映了这一点;Python显示[...]来表示递归结构,而不是抛出错误或用相同列表的无限嵌套表示填充终端。你知道吗

这同样适用于词典:

>>> d = {}
>>> d['d'] = d
>>> d
{'d': {...}}

或任何标准容器类型的混合。它不仅限于一个级别或单个参考:

>>> l = ['foo', 'bar', {}]
>>> l[-1]['spam'] = l
>>> l[-1]['eggs'] = l
>>> l
['foo', 'bar', {'eggs': [...], 'spam': [...]}]

[...]{...}引用只是指出打印内容将导致递归。你知道吗

相关问题 更多 >