Intermediate Python
  • Introduction
  • Средства разработки
    • Виртуальное окружение
    • Отладка
    • Анализ объекта
  • Синтаксис
    • Исключения
    • for - else
    • Тернарные операторы
    • global и return
    • Функция open
    • *args и **kwargs
    • Менеджеры контекста
  • Функциональное программирование
    • enumerate
    • Анонимные функции
    • Структура данных set
    • map и filter
    • Абстракция списков
  • Структуры данных
    • Генераторы
    • Корутины
    • Классы
  • Типы данных
    • collections
    • Изменяемость
    • Магия __slots__
  • Декораторы
    • Что такое декоратор?
    • Кэширование функций
  • Разное
    • Однострочники
    • Python C расширения
    • Разработка под Python 2+3
Powered by GitBook
On this page
  1. Функциональное программирование

enumerate

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

for counter, value in enumerate(some_list):
    print(counter, value)

Это не всё! enumerate принимает также необязательный аргумент, с помощью которого она становится ещё полезнее.

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

# Вывод:
# 1 apple
# 2 banana
# 3 grapes
# 4 pear

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

my_list = ['apple', 'banana', 'grapes', 'pear']
counter_list = list(enumerate(my_list, 1))
print(counter_list)
# Вывод: [(1, 'apple'), (2, 'banana'), (3, 'grapes'), (4, 'pear')]
PreviousМенеджеры контекстаNextАнонимные функции

Last updated 6 years ago