[...]在python中是什么意思?

时间:2015-12-01 09:04:57

标签: python self-reference

每当我运行代码时,我会得到[...],而不是包含一些对象的列表。我想知道这意味着什么,以便调试我的代码。

2 个答案:

答案 0 :(得分:14)

这很可能是对象本身的引用。例如:

In [1]: l = [0, 1]

In [2]: l.append(l)

In [3]: l
Out[3]: [0, 1, [...]]

在上面,列表l包含对自身的引用。这意味着,您可以无限制地打印其中的元素(想象[0, 1, [0, 1, [0, 1, [...]]]]等),这些元素使用... IMO进行限制,您在代码中的某处错误地附加值会导致此问题。

一个更简洁的例子:

In [1]: l = []

In [2]: l.append(l)

In [3]: l
Out[3]: [[...]]

答案 1 :(得分:2)

>>> data = []
>>> data.append([1,3,4])
>>> data
[[1, 3, 4]]
>>> data.append([1,3,data])
>>> data
[[1, 3, 4], [1, 3, [...]]]
>>> data[0]
[1, 3, 4]
>>> data[1]
[1, 3, [[1, 3, 4], [...]]]
>>> data.append([1,2,data])
>>> data
[[1, 3, 4], [1, 3, [...]], [1, 2, [...]]]
>>> data[2]
[1, 2, [[1, 3, 4], [1, 3, [...]], [...]]]

然后它变得奇怪