打印列表,子列表中出现三个点。

11

我打印了一个列表的内容,得到了以下输出:

[[...], [...], [...], [...], [...], [...]]

这些奇怪的点是什么?

我使用的是Python 2.7.3。


3
你打印了哪个列表?你需要展示你的实际代码。 - BrenBarn
2
你是如何创建这个列表的? - user334856
1个回答

16

可能您不小心建立了一个包含对自身的引用(或者这里,大量引用)的列表:

>>> a = ['x']
>>> a
['x']
>>> a[0] = a
>>> a
[[...]]

使用三个点是为了避免在递归中淹没字符串表示。您可以通过使用idis运算符来验证这一点:


使用三个点是为了避免字符串递归的淹没。 您可以通过使用idis运算符进行验证:
>>> id(a)
165875500
>>> id(a[0])
165875500
>>> a is a[0]
True

这也在2.7中实现了...今天之前从未见过。 - The Unfun Cat

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接