cha*_*pkr 2 python list python-3.x
list1 = ['inception', 'dream', 'movie']
list2 = list1
list1.append(list2)
list1
Run Code Online (Sandbox Code Playgroud)
如果我在终端上运行此代码,
['inception', 'dream', 'movie',[...]]
Run Code Online (Sandbox Code Playgroud)
是输出.如果我在自己的列表中附加一个列表会怎样?
List元素只是对其他Python值的引用.您已在列表中存储了对列表本身的引用.
列表表示反映了这一点; Python显示[...]为表示递归结构,而不是抛出错误或用同一列表的无限嵌套表示填充终端.
这同样适用于词典:
>>> d = {}
>>> d['d'] = d
>>> d
{'d': {...}}
Run Code Online (Sandbox Code Playgroud)
或任何标准容器类型的混合.它不仅限于一个级别或单个引用:
>>> l = ['foo', 'bar', {}]
>>> l[-1]['spam'] = l
>>> l[-1]['eggs'] = l
>>> l
['foo', 'bar', {'eggs': [...], 'spam': [...]}]
Run Code Online (Sandbox Code Playgroud)
该[...]或{...}引用只是表明打印的内容会导致递归.
| 归档时间: |
|
| 查看次数: |
65 次 |
| 最近记录: |