все Python 3Циклыфункция
enumerate()
итерация
Встроенная функция, добавляющая счётчик к итерируемому объекту. Возвращает кортежи (индекс, значение). Параметр start задаёт начальный индекс.
Синтаксис
enumerate(iterable, start=0)
enumerate избавляет от неуклюжего обхода через range(len(...)) с ручным доступом по индексу — сразу отдаёт пару (индекс, значение). Возвращает ленивый итератор, а не список, поэтому оборачивать в list() стоит, только если результат действительно нужен целиком.
Примеры
fruits = ["яблоко", "банан", "вишня"]
for i, fruit in enumerate(fruits):
print(i, fruit) # → 0 яблоко / 1 банан / 2 вишня
for i, fruit in enumerate(fruits, start=1):
print(f"{i}. {fruit}") # → 1. яблоко / 2. банан / 3. вишня
lst = [10, 20, 30, 40]
for i, v in enumerate(lst):
if v == 20:
print("индекс 20:", i) # → индекс 20: 1
nums = [5, 3, 8, 1]
max_i, max_v = max(enumerate(nums), key=lambda x: x[1])
print(max_i, max_v) # → 2 8
print(dict(enumerate("abc"))) # → {0: 'a', 1: 'b', 2: 'c'}
См. также
Частые ошибки
Открыть в полном глоссарииdocs.python.orgСообщить о неточности