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.