Метод enumerate python — является своего рода счетчиком. Данный метод добавляет счетчик, к итерируемому объекту, и возвращает объект перечисления. Ниже приведен небольшой пример.
languages = ['Python', 'Java', 'JavaScript']
enumerate_prime = enumerate(languages)
# Преобразовываем
print(list(enumerate_prime))
# Результат: [(0, 'Python'), (1, 'Java'), (2, 'JavaScript')]
Синтаксис метода enumerate()
enumerate(iterable, start=0)
Принимаемые параметры метода enumerate()
- iterable -любая последовательность, либо объект поддерживающий итерацию
- start — (необязательный). Если указан данный параметр, начинается отсчет с данного числа. В случае, если параметр start не указан, то отсчет начинается с 0 по умолчанию
Пример 1. Как работает функция enumerate()?
Как уже писалось выше, метод enumerate() добавляет счетчик к итерируемому объекту, и возвращает объект перечисления.
grocery = ['bread', 'milk', 'butter']
enumerateGrocery = enumerate(grocery)
print(type(enumerateGrocery))
# конвертируем в список
print(list(enumerateGrocery))
# Изменяем счетчик по умолчанию
enumerateGrocery = enumerate(grocery, 10)
print(list(enumerateGrocery))
#Результат
<class 'enumerate'>
[(0, 'bread'), (1, 'milk'), (2, 'butter')]
[(10, 'bread'), (11, 'milk'), (12, 'butter')]
Как видите, на выходе мы получили объект перечисления. В данном примере, мы использовали два варианта, с указанием параметра start, и без.
Пример 2. Цикл и метод enumerate()
grocery = ['bread', 'milk', 'butter']
for item in enumerate(grocery):
print(item)
print('\n')
for count, item in enumerate(grocery):
print(count, item)
print('\n')
# changing default start value
for count, item in enumerate(grocery, 100):
print(count, item)
#Результат
(0, 'bread')
(1, 'milk')
(2, 'butter')
0 bread
1 milk
2 butter
100 bread
101 milk
102 butter