What do ellipsis [...] mean in a list?

I was playing around in python. I used the following code in IDLE:

    p  = [1, 2]
    p[1:1] = [p]
    print p

The output was:

    [1, [...], 2]

What is this […]? Interestingly I could now use this as a list of list of list up to infinity i.e.

    p[1][1][1]....

I could write the above as long as I wanted and it would still work.

EDIT:

  • How is it represented in memory?
  • What's its use? Examples of some cases where it is useful would be helpful.
  • Any link to official documentation would be really useful.

It means that you created an infinite list nested inside itself, which can not be printed. p contains p which contains p ... and so on. The [...] notation is a way to let you know this, and to inform that it can't be represented! Take a look at @6502's answer to see a nice picture showing what's happening.

Now, regarding the three new items after your edit:

  • This answer seems to cover it
  • Ignacio's link describes some possible uses
  • This is more a topic of data structure design than programming languages, so it's unlikely that any reference is found in Python's official documentation

From: stackoverflow.com/q/17160162