Рубріки: Теория

Использование цикла for для итерации по списку в Python

Ігор Грегорченко

В этом уроке вы узнаете, как использовать питоновский цикл for для итерации по списку в Python. Мы расскажем только самое главное про for in list (и как этот цикл правильно использовать). Кроме рассмотрения базовой информации о циклах for, мы также расскажем про использование дополнительных функций range() и enumerate(), чтобы сделать for по-настоящему всеядным.

Итак, чтобы выполнить итерацию по списку, обычно используется стандартный оператор цикла for следующим образом:

for item in list:

    # здесь код как обработать элемент

В этом базовом синтаксисе оператора цикла for с переменной item на каждой итерации присваивается отдельный элемент списка. При этом внутри тела цикла вы можете манипулировать каждым элементом списка по отдельности.

Например, ниже определен список городов и используется цикл for для итераций по списку:

cities = ['New York', 'Beijing', 'Cairo', 'Mumbai', 'Mexico']

for city in cities:
    print(city)

Получим такой вывод:

New York
Beijing
Cairo
Mumbai
Mexico

В этом примере цикл for присваивает отдельный элемент списка городов переменной city и выводит город (из списка list) на каждой итерации.

Освоить язык программирования Python вам могут помочь онлайн курсы от наших партнеров Mate Academy и Powercode. Получите качественный уровень знаний от практикующих специалистов.

Использование цикла for в Python для итерации по списку с индексом

Рассмотрим другой вариант — иногда вам может понадобиться получить доступ к индексам элементов внутри цикла. В таких случаях можно использовать функцию enumerate().

Функция enumerate() возвращает кортеж, содержащий текущий индекс и элемент списка.

Следующий пример определяет список городов и использует цикл for с функцией enumerate() для итерации по списку:

cities = ['New York', 'Beijing', 'Cairo', 'Mumbai', 'Mexico']

for item in enumerate(cities):
    print(item)

Имеем вывод:

(0, 'New York')
(1, 'Beijing')
(2, 'Cairo')
(3, 'Mumbai')
(4, 'Mexico')

Чтобы получить доступ к индексу, вы можете распаковать кортеж внутри оператора цикла for следующим образом:

cities = ['New York', 'Beijing', 'Cairo', 'Mumbai', 'Mexico']

for index, city in enumerate(cities):
    print(f"{index}: {city}")

Вывод:

0: New York
1: Beijing
2: Cairo
3: Mumbai
4: Mexico

Функция enumerate() позволяет указать начальный индекс, который по умолчанию равен нулю.

В следующем примере используется функция enumerate() с индексом, начинающимся с единицы:

cities = ['New York', 'Beijing', 'Cairo', 'Mumbai', 'Mexico']

for index, city in enumerate(cities,1):
    print(f"{index}: {city}")

Вывод:

1: New York
2: Beijing
3: Cairo
4: Mumbai
5: Mexico

Функция Range в Python

Функция range() выдает последовательность целых чисел на основе аргументов функции. Мы попробуем ее использовать совместно с циклами и списками. В документации она описывается так:

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

В Python, используя цикл for с range(), мы можем повторять действие определенное количество раз.

Общий синтаксис:

range(stop)
range(start, stop[, step])

Аргумент start — это первое значение в диапазоне. Если функция range() вызывается только с одним аргументом, то Python считает, что start = 0.

Аргумент stop — это верхняя граница диапазона. Важно понимать, что это верхнее значение не включается в диапазон.

В примере ниже у нас есть диапазон, начинающийся со значения по умолчанию 0 и включающий целые числа меньше 5.

# Пример с одним аргументом

for i in range(5):

    print(i, end=", ") # печатает: 0, 1, 2, 3, 4,

В следующем примере мы задаем start = -1 и снова включаем целые числа меньше 5.

# Пример с двумя аргументами

for i in range(-1, 5):

    print(i, end=", ") # печатает: -1, 0, 1, 2, 3, 4,

Необязательное значение шага управляет приращением между значениями в диапазоне. По умолчанию шаг = 1.

В нашем последнем примере мы используем диапазон целых чисел от -1 до 5 и задаем шаг цикла равным 2.

# Пример с тремя аргументами

for i in range(-1, 5, 2):

    print(i, end=", ") # печатает: -1, 1, 3,

 

Резюме

Используйте цикл for для итерации по списку. Также используйте цикл for с функцией enumerate() для доступа к индексам. Еще можно перебирать элементы списка, ссылаясь на их индексный номер. Используйте функции range() и len() для создания подходящей итерационной таблицы.

Циклы for проверяют условие перед выполнением блока кода для всех значений в списке, массиве, строке или range(). Можно использовать range(), чтобы упростить написание цикла for. Стоп-значение range() должно быть указано явно, но также можно изменить начальное значение и шаг между целыми числами в range().

Останні статті

Что такое прокси-сервер: пояснение простыми словами, зачем нужны прокси

Прокси (proxy), или прокси-сервер — это программа-посредник, которая обеспечивает соединение между пользователем и интернет-ресурсом. Принцип…

21.11.2024

Что такое PWA приложение? Зачем необходимо прогрессивное веб-приложение

Согласитесь, было бы неплохо соединить в одно сайт и приложение для смартфона. Если вы еще…

19.11.2024

Как создать игру на телефоне: программирование с помощью конструктора

Повсеместное распространение смартфонов привело к огромному спросу на мобильные игры и приложения. Миллиарды пользователей гаджетов…

17.11.2024

Google Bard: эффективный аналог ChatGPT

В перечне популярных чат-ботов с искусственным интеллектом Google Bard (Gemini) еще не пользуется такой популярностью…

14.11.2024

Скрипт и программирование: что это такое простыми словами

Скрипт (англ. — сценарий), — это небольшая программа, как правило, для веб-интерфейса, выполняющая определенную задачу.…

12.11.2024

Дедлайн в разработке: что это такое простыми словами

Дедлайн (от англ. deadline — «крайний срок») — это конечная дата стачи проекта или задачи…

11.11.2024