Скорее всего, это очень похоже на бесконечный цикл: хотя l = []
и l.append(l)
компилятору не удается определить, является ли список []
или [[]]
или [[[]]]
, поскольку список добавляется к самому себе.
Я надеюсь, что вы понимаете это, вы можете увидеть мой пример оболочки здесь:
>>> l = []
>>> l.append(l)
>>> l
[[...]]
#Then, again:
>>> l = []
>>> l.append(l)
>>> l.append(l)
>>> l
[[...], [...]]
>>> l[0], l[1]
([[...], [...]], [[...], [...]])
>>> l[0][0]
[[...], [...]]
>>> l[0][0][0]
[[...], [...]] # and so on...
Итак, вы можете видеть, что l
- это в основном и бесконечный список, и удаление списка infinte закончитсяутечка памяти (я не знаю причину, но вы можете копать глубже, если хотите ...)
Надеюсь, это помогло.
РЕДАКТИРОВАТЬ :
Оболочка действительно выводит текст [...]
, на всякий случай, если вам интересно.