省略号 [...] 在列表中是什么意思?
问题描述
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
相关文章