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

What is the meaning of [...] in python?

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

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

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]: [[...]]
>>> 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, [...]], [...]]]

然后就变得奇怪了