Документация по Python. Теоретические материалы, и практические задачи

enumerate python

Метод 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

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *