Что означает [...] (многоточие) в списке в Python?

Я просто получил некоторый странный вывод python script:

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

Вывод должен состоять из списка списков кортежей. Но я не знаю, почему появляется [...].

Что означает [...]?

Я не думаю, что его пустой список, поскольку пустой список был []. Возможно, это дубликаты?

Ответы

Ответ 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 на самом деле не является полным форматом сериализации для списков.

Что касается того, почему вы их получаете: мы не психические и не можем исправить проблему с вашим кодом, если мы не увидим код.