enumerate
Introduction
В этой статье вы узнаете как организовать работает функция enumerate в Python 3.
Создайте файл
enumerate_demo.py
и копируйте туда код из примеров.
Запустить файл можно командой
python3 enumerate_demo.py
Разберём способы итерации по объектам списка
letters = ['a', 'b', 'c', 'd', 'e']
for letter in letters:
print(letter)
python enumerate_demo.py
a b c d e
Перебрать все элементы списка можно с помощью индексов
for index in range(len(letters)):
print('letters', index, '=', letters[index])
python enumerate_demo.py
letters 0 = a letters 1 = b letters 2 = c letters 3 = d letters 4 = e
To пользоваться одновременно двумя переменными используется функция enumerate
for index, item in enumerate(letters):
print('letters', index, '=', item)
python enumerate_demo.py
letters 0 = a letters 1 = b letters 2 = c letters 3 = d letters 4 = e
enumerate возвращает итерируемый объект (iterable object), который является последовательностью кортежей (tuple) вида (index, item)
To лучше понять происходящее добавьте в скрипт следующий код
enum_obj = enumerate(letters)
print(next(enum_obj))
print(next(enum_obj))
print(next(enum_obj))
print(type(enum_obj))
(0, 'a') (1, 'b') (2, 'c') <class 'enumerate'>
Ещё один способ обхода списка - с помощью while
index = 0
while index < len(letters):
print('letters', index, '=', letters[index])
index +=1