enumerate()
podczas pracy na liście faktycznie podaje indeks i wartość elementów wewnątrz listy. Na przykład:
l = [1, 2, 3, 4, 5, 6, 7, 8, 9]
for i, j in enumerate(list):
print(i, j)
daje
0 1
1 2
2 3
3 4
4 5
5 6
6 7
7 8
8 9
gdzie pierwsza kolumna oznacza indeks pozycji, a druga kolumna oznacza same pozycje.
W słowniku
enumm = {0: 1, 1: 2, 2: 3, 4: 4, 5: 5, 6: 6, 7: 7}
for i, j in enumerate(enumm):
print(i, j)
daje wynik
0 0
1 1
2 2
3 4
4 5
5 6
6 7
gdzie pierwsza kolumna zawiera indeks key:value
par, a druga kolumna oznacza keys
słownik enumm
.
Więc jeśli chcesz, aby pierwsza kolumna była, keys
a druga kolumna values
, lepiej wypróbuj dict.iteritems()
(Python 2) lub dict.items()
(Python 3)
for i, j in enumm.items():
print(i, j)
wynik
0 1
1 2
2 3
4 4
5 5
6 6
7 7
Voila
for i, j in enumerate(enumm)
jesti
zwiększany przy każdej iteracji ij
przechwytuje zwykły element zenumerate
argumentu funkcji, którym w tym przypadku jest słownik. Iterowanie po dyktach jest zasadniczo iteracją po jego kluczach.