• en
  • Language: ru
  • Documentation version: latest

13. Перечислить

Enumerate - это встроенная функция Python. Ее полезность невозможно описать в одной строке. Тем не менее, большинство новичков и даже некоторые опытные программисты не знают о ней. Она позволяет нам перебрать несколько элементов и получить автоматический счетчик. Вот пример:

my_list = ['apple', 'banana', 'grapes', 'pear']
for counter, value in enumerate(my_list):
    print counter, value

# Output:
# 0 apple
# 1 banana
# 2 grapes
# 3 pear

И это еще не все! enumerate также принимает необязательный аргумент, который позволяет нам указать начальный индекс счетчика.

my_list = ['apple', 'banana', 'grapes', 'pear']
for c, value in enumerate(my_list, 1):
    print(c, value)

# Output:
# 1 apple
# 2 banana
# 3 grapes
# 4 pear

Примером того, как необязательный аргумент enumerate может пригодиться, является создание кортежей, содержащих индекс и элемент списка, с помощью списка. Вот пример:

my_list = ['apple', 'banana', 'grapes', 'pear']
counter_list = list(enumerate(my_list, 1))
print(counter_list)
# Output: [(1, 'apple'), (2, 'banana'), (3, 'grapes'), (4, 'pear')]