Функция enumerate()
в Python принимает последовательность, а затем превращает каждый элемент последовательности в кортеж.
- Первым элементом кортежа является порядковый номер.
- Вторым элементом кортежа — это значение последовательности.
enumerate()
добавляет счетчик с элементом последовательности.
Синтаксис:
enumerate(sequence)
: sequence - любая последовательность, итератор, или объект, поддерживающий метод итератораenumerate(sequence, start)
: start - число int, начальное значение счётчика.
Функция enumerate()
вернет кортеж, содержащий счетчик с start, полученное в результате итерации по объекту. Объект, передаваемый функции, должен быть последовательностью, итератором или другим объектом, поддерживающим метод итератора __next__()
.
Функция enumerate()
полезна, когда вам нужен счетчик количества элементов в последовательности. Позволяет избавиться от необходимости запускать и обновлять отдельную переменную счетчика.
Чаще всего функция enumerate()
используется в цикле for/in в качестве счетчика элементов последовательности:
Пример:
seq = list('АБВГДЕЁЖЗ')
for i, val in enumerate(seq, start=1):
print(f'№ {i} => {val}')
Результат:
№ 1 => А
№ 2 => Б
№ 3 => В
№ 4 => Г
№ 5 => Д
№ 6 => Е
№ 7 => Ё
№ 8 => Ж
№ 9 => З
Получение списка парных кортежей (number, value) (порядковый номер в последовательности, значение последовательности).
seasons = ['Spring', 'Summer', 'Fall', 'Winter']
print(list(enumerate(seasons)))
print(list(enumerate(seasons, start=1)))
Результат:
[(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]
[(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')]