Iteratory nie zostały zaprojektowane do indeksowania (pamiętaj, że leniwie produkują swoje przedmioty).
Zamiast tego można użyć enumerate
numerowania elementów, ponieważ są one produkowane:
for index, match in enumerate(it):
Poniżej jest wykazanie:
>>> it = (x for x in range(10, 20))
>>> for index, item in enumerate(it):
... print(index, item)
...
0 10
1 11
2 12
3 13
4 14
5 15
6 16
7 17
8 18
9 19
>>>
pamiętać, że można również określić liczbę, aby rozpocząć liczenie pod adresem:
>>> it = (x for x in range(10, 20))
>>> for index, item in enumerate(it, 1): # Start counting at 1 instead of 0
... print(index, item)
...
1 10
2 11
3 12
4 13
5 14
6 15
7 16
8 17
9 18
10 19
>>>