enumerate

Содержание
Введение
Пример
Разбор
Похожие статьи

Введение

В этой статье вы узнаете как работает функция enumerate в Python 3.

enumerate получает итерируемый объект а возвращает набор кортежей вида (индекс элемента, элемент)

Создайте файл enumerate_demo.py и копируйте туда код из примеров.

Запустить файл можно командой python3 enumerate_demo.py

Пример

Пройдёмся функцией enumerate() по списку и заодно убедимся, что возвращаются кортежи (tuple)

sites = ["heihei.ru", "topbicycle.ru", "urn.su"] for site in enumerate(sites): print(f"site: {site}, type(site): {type(site)}")

site: (0, 'heihei.ru'), type(site): <class 'tuple'> site: (1, 'topbicycle.ru'), type(site): <class 'tuple'> site: (2, 'urn.su'), type(site): <class 'tuple'>

Подробности

Разберём способы итерации по объектам списка

letters = ['a', 'b', 'c', 'd', 'e'] for letter in letters: print(letter)

python enumerate_demo.py

a b c d e

Перебрать все элементы списка можно с помощью индексов

for index in range(len(letters)): print('letters', index, '=', letters[index])

python enumerate_demo.py

letters 0 = a letters 1 = b letters 2 = c letters 3 = d letters 4 = e

Чтобы пользоваться одновременно двумя переменными используется функция enumerate

for index, item in enumerate(letters): print('letters', index, '=', item)

python enumerate_demo.py

letters 0 = a letters 1 = b letters 2 = c letters 3 = d letters 4 = e

enumerate возвращает итерируемый объект (iterable object), который является последовательностью кортежей (tuple) вида (index, item)

Чтобы лучше понять происходящее добавьте в скрипт следующий код

enum_obj = enumerate(letters) print(next(enum_obj)) print(next(enum_obj)) print(next(enum_obj)) print(type(enum_obj))

(0, 'a') (1, 'b') (2, 'c') <class 'enumerate'>

Ещё один способ обхода списка - с помощью while

index = 0 while index < len(letters): print('letters', index, '=', letters[index]) index +=1

Похожие статьи
Интерактивный режим
str: строки
\: перенос строки
Списки []
if, elif, else
Циклы
Функции
try except
Пакеты
*args **kwargs
ООП
enum
Опеределить тип переменной Python
Тестирование с помощью Python
Работа с REST API на Python
Файлы: записать, прочитать, дописать, контекстный менеджер…
Скачать файл по сети
SQLite3: работа с БД
datetime: Дата и время в Python
json.dumps
Selenium + Python
Сложности при работе с Python
DJANGO
Flask
Скрипт для ZPL принтера
socket :Python Sockets
Виртуальное окружение
subprocess: выполнение bash команд из Python
multiprocessing: несколько процессов одновременно
psutil: cистемные ресурсы
sys.argv: аргументы командной строки
PyCharm: IDE
pydantic: валидация данных
paramiko: SSH из Python
enumerate
logging: запись в лог
Обучение программированию на Python