Circular Reference with python lists

2019-01-15 19:59发布

问题:

Can someone explain this?

>>> x=x[0]=[0]
>>> x
[[...]]
>>> x is x[0]
True
>>> x[0][0][0][0][0][0][0]
[[...]]
>>> x in x
True

what is [...]?

回答1:

That's just Python telling you that you have a circular reference; it's smart enough not to enter an infinite loop trying to print it out.



回答2:

It's output by the method responsible for generating the representation of the structure. It represents a recursive structure, elided since it can be nested infinitely.



回答3:

iPython will do this:

[<Recursion on list with id=38505216>]

It's the same thing; the interpreter telling you that you have a recursive data structure.