【问题标题】:What does [...] (an ellipsis) in a list mean in Python? [duplicate]列表中的 [...](省略号)在 Python 中是什么意思? [复制]
【发布时间】:2011-11-05 14:20:40
【问题描述】:

我刚刚得到了一个 python 脚本的奇怪输出:

[[(7, 6), (6, 4), (7, 2)], [...], [...], [...], [(7, 6), (8, 4), (7, 2)], [...], [...], [...], [...], [...], [...], [...]]

输出应该是元组列表的列表。但我不知道为什么会出现 [...]。

[...] 是什么意思?

我不认为它是一个空列表,因为一个空列表是 []。这些可能是重复的吗?

【问题讨论】:

标签: python


【解决方案1】:

这是一个递归引用。您的列表包含自身,或者至少存在某种循环。

例子:

x = []
x.insert(0, x)
# now the repr(x) is '[[...]]'.

列表的内置repr 会检测到这种情况,并且不会尝试在子列表上进行递归(就像通常那样),因为这会导致无限递归。

请注意,... 不一定会告诉您引用了哪个列表:

y, z = [], []
x = [y, z]
y.insert(0, z)
z.insert(0, y)
# looks the same as it would if y contained y and z contained z.

所以repr 并不是真正完整的列表序列化格式。

至于你为什么得到它们:我们不是通灵者,除非我们看到代码,否则无法解决你的代码问题。

【讨论】:

    猜你喜欢
    • 2013-06-14
    • 2015-02-13
    • 1970-01-01
    • 2014-12-15
    • 2013-07-15
    • 2010-09-28
    • 1970-01-01
    • 2014-07-28
    • 2021-03-23
    相关资源
    最近更新 更多