Использование цикла 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()
.
Сообщить об опечатке
Текст, который будет отправлен нашим редакторам: