enumerate()
при работе со списком фактически дает индекс и значение элементов внутри списка. Например:
l = [1, 2, 3, 4, 5, 6, 7, 8, 9]
for i, j in enumerate(list):
print(i, j)
дает
0 1
1 2
2 3
3 4
4 5
5 6
6 7
7 8
8 9
где первый столбец обозначает индекс элемента, а второй столбец обозначает сами элементы.
В словаре
enumm = {0: 1, 1: 2, 2: 3, 4: 4, 5: 5, 6: 6, 7: 7}
for i, j in enumerate(enumm):
print(i, j)
он дает результат
0 0
1 1
2 2
3 4
4 5
5 6
6 7
где первый столбец дает индекс key:value
пар, а второй столбец обозначает keys
словарьenumm
.
Поэтому, если вы хотите, чтобы первый столбец был keys
вторым, а второй столбец values
, лучше попробовать dict.iteritems()
(Python 2) или dict.items()
(Python 3)
for i, j in enumm.items():
print(i, j)
вывод
0 1
1 2
2 3
4 4
5 5
6 6
7 7
Вуаля
for i, j in enumerate(enumm)
получаетi
приращение на каждой итерации иj
захватывает обычный элемент изenumerate
аргумента функции, который в данном случае является словарем. Перебор dicts, по сути, перебирает его ключи.