If I run the following code
data = [[1,2],[3,4],[5,6]]
for x in data:
print(x[0])
for x[0] in data:
print(x)
I get the following output
1
3
5
[[1, 2], 6]
[[3, 4], 6]
[[...], 6]
I end up with a list containing [[...], 6]
, but what is this [...]
list?
It doesn't behave normally, because calling y = [[...], 6]
and then the following statements show [...]
to be 0
>>> print(y)
[[Ellipsis], 6]
>>> print(y[0])
[0]
However when I run the code at the top, and type the following statements the results don't make sense:
>>> print(x)
[[...], 6]
>>> print(x[0])
[[...], 6]
>>> print(x[0][0])
[[...], 6]
>>> print(x[0][0][0])
[[...], 6]
and yet somehow both of these result in 6
>>> print(x[1])
6
>>> print(x[0][1])
6
To review the question: How is this possible, and what does [...]
represent, and how can the for loop at the top create such a list?