Как использовать цикл for в Python для итерации данных ♾️
В этой статье мы будем рассматривать цикл for в языке Python. Циклы являются одним из сильнейших инструментов в программировании. В Python существует две основные конструкции циклов: while и for.
Циклы позволяют многократно выполнять заданный набор действий. Если у вас есть последовательность, такая как список, вы можете использовать цикл for для перебора всех элементов в списке.
Об итерациях:
- Итерация (Iteration) - это одно из повторений цикла, т.е шаг циклического процесса.
- Итерируемый объект (Iterable) - объект, который может отдавать один результат за каждую итерацию, пример: Владик, Саша, Юля...
- Итератор (iterator) — это итерируемый объект, реализующий метод next для получения следующего элемента.
Синтаксис цикла for:
for item in items:
# наш код для повторного выполнения
Цикл for на практике:
Пример перебора списка:
for i in [0, 1, 2, 3, 4, 5]:
print(i, end="; ")
**Результат: **
>>> 0; 1; 2; 3; 4; 5;
Пример с использованием функции range()
:
Функция range()
возвращает последовательность целых чисел на основе переданных ей аргументов.
range(stop)
range(start, stop[, step])
Начальный аргумент (start)
— это первое значение в диапазоне. Если функция range()
вызывается с одним аргументом, Python предполагает, что start = 0
.
Аргумент остановки (stop)
является верхней границей диапазона. Важно понимать, что само предельное значение не входит в последовательность.
Давайте попробуем создать такую конструкцию.
for i in range(1, 10000):
print(i)
Результат выполнения кода:
>>> 1
>>> 2
>>> 3
>>> 4
>>> 5
>>> ...
>>> 9998
>>> 9999
Цикл по списку:
united_nations = ['Австралия', 'Аргентина', 'Белоруссия', 'Бельгия', 'Боливия', 'Бразилия']
for country in united_nations:
print(country)
Результат:
>>> Австралия
>>> Аргентина
>>> Белоруссия
>>> Бельгия
>>> Боливия
>>> Бразилия
Цикл по словарю:
Чуть более сложный пример касается повторяющихся словарей. Как правило, при переборе словаря необходимо получить и ключ, и значение. Это делается с помощью метода items()
, который создает кортеж для каждого элемента в словаре.
Пример цикла по словарю:
sea_or_lake = {
'Северное море': 'Море',
'Байкал': 'Озеро',
'Чёрное море': 'Море',
'Крейтер': 'Озеро',
'Гурон': 'Озеро',
}
# Создадим переменные для подсчета морей и озер из словаря
sea = 0
lake = 0
for name, water_type in sea_or_lake.items():
if water_type == 'Озеро':
lake += 1
else:
sea += 1
print(f'Озер: {lake}, морей: {sea}')
Результат:
>>> Озер: 3, морей: 2
Цикл по строке:
Строка состоит из символов, а это уже последовательность. Поэтому мы можем обойти строку в цикле.
word = 'Москва'
for w in word:
print(w, end=" ")
Результат:
>>> М о с к в а
Обратный цикл for
Если вы все еще не уверены, что range()
полезен, то вот еще один пример: благодаря этой функции вы можете взять и пройти последовательность в обратном порядке.
for num in range(100, 90, -1):
print(num)
Результат:
>>> 100
>>> 99
>>> 98
>>> 97
>>> 96
>>> 95
>>> 94
>>> 93
>>> 92
>>> 91
Цикл for с шагом
Цикл for с шагом создается с помощью уже известной нам функции range()
, где в качестве третьего аргумента необходимо передать размер шага:
for num in range(100, 1000, 250):
print(num)
Результат:
>>> 100
>>> 350
>>> 600
>>> 850