I was playing around in python. I used the following code in IDLE:
JavaScript
x
4
1
p = [1, 2]
2
p[1:1] = [p]
3
print p
4
The output was:
JavaScript
1
2
1
[1, [ ], 2]
2
What is this […]
? Interestingly I could now use this as a list of list of list up to infinity i.e.
JavaScript
1
2
1
p[1][1][1] .
2
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.
Advertisement
Answer
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: