每当我运行代码时,我会得到[...]
,而不是包含一些对象的列表。我想知道这意味着什么,以便调试我的代码。
答案 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, [...]], [...]]]
然后它变得奇怪