Как использовать цикл for в Python для итерации данных ♾️
Python

Как использовать цикл for в Python для итерации данных ♾️

Razilator

В этой статье мы будем рассматривать цикл for в языке Python. Циклы являются одним из сильнейших инструментов в программировании. В Python существует две основные конструкции циклов: while и for.

Циклы позволяют многократно выполнять заданный набор действий. Если у вас есть последовательность, такая как список, вы можете использовать цикл for для перебора всех элементов в списке.

Об итерациях:

  • Итерация (Iteration) - это одно из повторений цикла, т.е шаг циклического процесса.
  • Итерируемый объект (Iterable) - объект, который может отдавать один результат за каждую итерацию, пример: Владик, Саша, Юля...
  • Итератор (iterator) — это итерируемый объект, реализующий метод next для получения следующего элемента.

Синтаксис цикла for:

for item in items:
    # наш код для повторного выполнения

Цикл for на практике:

Пример перебора списка:

main.py
for i in [0, 1, 2, 3, 4, 5]:
    print(i, end="; ")

**Результат: **

Терминал
>>> 0; 1; 2; 3; 4; 5; 

Пример с использованием функции range():

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

main.py
range(stop)
range(start, stop[, step])

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

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

Давайте попробуем создать такую конструкцию.

main.py
for i in range(1, 10000):
    print(i)

Результат выполнения кода:

Терминал
>>> 1
>>> 2
>>> 3
>>> 4
>>> 5
>>> ...
>>> 9998
>>> 9999

Цикл по списку:

main.py
united_nations = ['Австралия', 'Аргентина', 'Белоруссия', 'Бельгия', 'Боливия', 'Бразилия']

for country in united_nations:
    print(country)

Результат:

Терминал
>>> Австралия
>>> Аргентина
>>> Белоруссия
>>> Бельгия
>>> Боливия
>>> Бразилия

Цикл по словарю:

Чуть более сложный пример касается повторяющихся словарей. Как правило, при переборе словаря необходимо получить и ключ, и значение. Это делается с помощью метода items(), который создает кортеж для каждого элемента в словаре.

Пример цикла по словарю:

main.py
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

Цикл по строке:

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

main.py
word = 'Москва'

for w in word:
    print(w, end=" ")

Результат:

Терминал
>>> М о с к в а 

Обратный цикл for

Если вы все еще не уверены, что range() полезен, то вот еще один пример: благодаря этой функции вы можете взять и пройти последовательность в обратном порядке.

main.py
for num in range(100, 90, -1):
    print(num)

Результат:

Терминал
>>> 100
>>> 99
>>> 98
>>> 97
>>> 96
>>> 95
>>> 94
>>> 93
>>> 92
>>> 91

Цикл for с шагом

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

main.py
for num in range(100, 1000, 250):
    print(num)

Результат:

Терминал
>>> 100
>>> 350
>>> 600
>>> 850
;