enumerate()

Функция enumerate() оборачивает любой итерируемый объект и на каждой итерации возвращает кортеж (индекс, элемент). Это удобный способ получить порядковый номер элемента без ручного увеличения счётчика.

Сигнатура

enumerate(iterable, start=0)

Параметры:

  • iterable — любой итерируемый объект (список, кортеж, строка, файл и т. д.).

  • start — целое число, с которого начинается отсчёт индексов. По умолчанию 0.

Возвращает: объект-итератор enumerate, выдающий пары (index, value).

Примеры

Базовый перебор списка с индексами:

colors = ["red", "green", "blue"]
for i, color in enumerate(colors):
    print(i, color)
0 red
1 green
2 blue

Начало нумерации с произвольного числа:

tasks = ["wake up", "code", "sleep"]
for n, task in enumerate(tasks, start=1):
    print(f"{n}. {task}")
1. wake up
2. code
3. sleep

Преобразование результата в список пар:

letters = "abc"
pairs = list(enumerate(letters))
print(pairs)
[(0, 'a'), (1, 'b'), (2, 'c')]

Поиск индексов всех совпадений:

data = [10, 5, 10, 7, 10]
indexes = [i for i, v in enumerate(data) if v == 10]
print(indexes)
[0, 2, 4]

Построение словаря «индекс → значение»:

names = ["Aigerim", "Bek", "Dauren"]
mapping = dict(enumerate(names, start=100))
print(mapping)
{100: 'Aigerim', 101: 'Bek', 102: 'Dauren'}

См. также

Примечание

Описание основано на официальной документации Python (docs.python.org), распространяемой под лицензией PSF License v2. © Python Software Foundation.