每当我运行代码时,与其得到一个包含一些对象的列表,我会得到
[...]
。为了调试我的代码,我想知道它是什么意思。[...]
。为了调试我的代码,我想知道它是什么意思。这很可能是对对象本身的引用。例如:
In [1]: l = [0, 1]
In [2]: l.append(l)
In [3]: l
Out[3]: [0, 1, [...]]
以上代码中,列表l
包含对它本身的引用。这意味着你可以无限地打印其中的元素(想象一下 [0, 1, [0, 1, [0, 1, [...]]]]
等等),这被使用 ...
限制。我认为,你在代码中错误地追加了值,导致了这个问题。
以下是一个更简洁的示例:
In [1]: l = []
In [2]: l.append(l)
In [3]: l
Out[3]: [[...]]
l[2][2][2][2][2]
(等等)返回与仅使用l
(上面的例子)相同的结果 :-) - adrianus>>> 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, [...]], [...]]]