Hei*_*h-B 3 python list python-2.7 python-3.x
当我使用以下代码添加列表时.
a = [1, 2, 3, 4]
print a
a.append(a)
print a
Run Code Online (Sandbox Code Playgroud)
我期待输出是......
[1, 2, 3, 4]
[1, 2, 3, 4, [1, 2, 3, 4]]
Run Code Online (Sandbox Code Playgroud)
但它是这样的......
[1, 2, 3, 4]
[1, 2, 3, 4, [...]]
Run Code Online (Sandbox Code Playgroud)
为什么?
要添加a到a自身.第二个要素a是a.所以,如果它试图打印a,如你所愿
[1, 2, 3, 4]它会打印第二个元素,实际上是 a
[1, 2, 3, 4]它会打印第二个元素,实际上是 a
[1, 2, 3, 4]a......你看它是怎么回事吧?它将无限地完成它.因此,当存在这样的循环引用时,Python将仅表示为一对方括号内的省略号[...].
如果要按a原样插入副本,则可以使用切片创建新列表,如下所示
>>> a = [1, 2, 3, 4]
>>> a.append(a[:])
>>> a
[1, 2, 3, 4, [1, 2, 3, 4]]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
122 次 |
| 最近记录: |