Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> Python

Освоение enumerate() в Python: циклы с индексами для списков, кортежей, строк и словарей

Что такое enumerate() в Python?

enumerate() — встроенная функция Python, которая дополняет любой итерируемый объект счётчиком, возвращая итератор кортежей (index, value). Согласно официальной документации Python, функция предоставляет лаконичный, эффективный способ доступа к позиции и элементу во время итерации.

Ключевые выводы

Синтаксис

enumerate(iterable, start=0)

Параметры

Возвращаемое значение

Итератор, выдающий пары вида (index, element), где index начинается с start и увеличивается на единицу для каждого элемента.

Использование enumerate() — базовый пример

Ниже простое демонстрация. Список my_list передаётся в enumerate(), а результирующий итератор преобразуется в список для отображения.

my_list = ['A', 'B', 'C', 'D']
print(list(enumerate(my_list)))

Вывод:

[(0, 'A'), (1, 'B'), (2, 'C'), (3, 'D')]

Пользовательский начальный индекс

Передача аргумента start позволяет сдвинуть нумерацию:

my_list = ['A', 'B', 'C', 'D']
print(list(enumerate(my_list, 2)))

Вывод:

[(2, 'A'), (3, 'B'), (4, 'C'), (5, 'D')]

Циклы с enumerate()

Использование enumerate() внутри for сохраняет код чистым и устраняет необходимость отдельной переменной-счётчика.

my_list = ['A', 'B', 'C', 'D']
for index, value in enumerate(my_list):
    print(index, value)
print("---")
for index, value in enumerate(my_list, 10):
    print(index, value)

Вывод:

0 A
1 B
2 C
3 D
---
10 A
11 B
12 C
13 D

Перечисление кортежа

Тот же паттерн работает для кортежей:

my_tuple = ('A', 'B', 'C', 'D', 'E')
for index, value in enumerate(my_tuple):
    print(index, value)

Вывод:

0 A
1 B
2 C
3 D
4 E

Перечисление строки

Строки итерируемы в Python, поэтому enumerate() может раскрыть позицию каждого символа:

my_str = "Guru99"
for index, char in enumerate(my_str):
    print(index, char)

Вывод:

0 G
1 u
2 r
3 u
4 9
5 9

Перечисление словаря

При передаче словаря в enumerate() итерация идёт по ключам:

my_dict = {"a": "PHP", "b": "JAVA", "c": "PYTHON", "d": "NODEJS"}
for index, key in enumerate(my_dict):
    print(index, key)

Вывод:

0 a
1 b
2 c
3 d

Зачем использовать enumerate()?

Резюме

Python

  1. Аргументы функций в Python: позиционные, именованные и параметры по умолчанию
  2. Lambda-функции в Python: практическое руководство по анонимным функциям
  3. Генераторы в Python: эффективная итерация и продвинутые сценарии
  4. Замыкания в Python: как вложенные функции захватывают переменные
  5. Декораторы в Python: улучшайте функции экспертными техниками
  6. Освоение циклов Python: for, while, break, continue и enumerate
  7. Мастерство метода strip() в Python: подробное руководство и практические примеры
  8. Мастерство метода str.count() в Python: как подсчитывать символы и подстроки с примерами
  9. Python len(): практическое руководство по измерению длины объектов
  10. Освоение функции range() в Python: от основ к продвинутым сценариям