list1 = ['inception', 'dream', 'movie']
list2 = list1
list1.append(list2)
list1
如果我在终端上运行此代码,
['inception', 'dream', 'movie',[...]]
是输出。如果我在自己的列表中附加一个列表会发生什么?
list1 = ['inception', 'dream', 'movie']
list2 = list1
list1.append(list2)
list1
如果我在终端上运行此代码,
['inception', 'dream', 'movie',[...]]
是输出。如果我在自己的列表中附加一个列表会发生什么?
列表元素只是对其他 Python 值的引用。您已经在列表中存储了对列表本身的引用。
列表表示反映了这一点;Python不会抛出错误或用相同列表的无限嵌套表示填充终端,而是显示[...]
以指示递归结构。
这同样适用于字典:
>>> d = {}
>>> d['d'] = d
>>> d
{'d': {...}}
或标准容器类型的任何组合。它不仅限于一个级别或单个参考:
>>> l = ['foo', 'bar', {}]
>>> l[-1]['spam'] = l
>>> l[-1]['eggs'] = l
>>> l
['foo', 'bar', {'eggs': [...], 'spam': [...]}]
[...]
or{...}
引用只是表明打印内容会导致递归。