Доступ к индексу элемента в цикле for
В этом примере посмотрим, как при обходе списка циклом for получить не только значение элемента, но и его индекс. Покажем три способа: через enumerate(), через enumerate() с произвольным стартом и через классический range(len(...)).
Что нужно знать
Перед изучением примера полезно понимать:
Python: цикл for — цикл
forPython: список (list) — списки
/python-programming/methods/built-in/enumerate/index — функция
enumerate()
Пример 1. Через enumerate
my_list = [21, 44, 35, 11]
for index, val in enumerate(my_list):
print(index, val)
Вывод
0 21
1 44
2 35
3 11
С помощью enumerate() можно выводить и индекс, и значение.
В заголовке цикла указываем две переменные —
indexиval. Имена могут быть любыми.Внутри цикла печатаем их.
Функция enumerate() добавляет к итерируемому объекту счётчик (то есть index) и возвращает пары «индекс — значение».
Пример 2. Старт нумерации не с нуля
my_list = [21, 44, 35, 11]
for index, val in enumerate(my_list, start=1):
print(index, val)
Вывод
1 21
2 44
3 35
4 11
Параметр start задаёт, с какого числа начинать счёт индекса.
Пример 3. Без enumerate()
my_list = [21, 44, 35, 11]
for index in range(len(my_list)):
value = my_list[index]
print(index, value)
Вывод
0 21
1 44
2 35
3 11
Получить индекс можно и без enumerate().
Циклом
forпробегаем все значения от 0 до длиныmy_list. Переменнаяindexв этом случае стартует с нуля.На каждой итерации получаем значение элемента:
value = my_list[index].Печатаем индекс и значение.