Цикл for в Python является функцией итерации. Если у вас есть объект последовательности, такой как список, вы можете использовать цикл for для итерации по элементам, содержащимся в списке.
Функциональность цикла for не слишком отличается от того, что вы видите во многих других языках программирования.
В этой статье мы подробно рассмотрим цикл for в Python и научимся выполнять итерации по различным последовательностям, включая списки, кортежи и многое другое. Кроме того, мы научимся контролировать ход выполнения цикла с помощью выражений break и continue.
Когда использовать цикл for
В любом случае, когда необходимо повторить блок кода фиксированное количество раз. Если вы не знаете, сколько раз его нужно повторить, вместо этого используйте оператор “while loop”.
Синтаксис цикла for в Python
Базовый синтаксис цикла for в Python выглядит примерно так, как указано ниже.
Синтаксис цикла for в Python в подробностях
- Первое слово оператора начинается с ключевого слова “for”, которое обозначает начало цикла for.
- Затем у нас есть переменная итератора, которая перебирает последовательность и может использоваться внутри цикла для выполнения различных функций
- Далее идет ключевое слово “in” в Python, которое говорит переменной итератора перебирать элементы внутри последовательности
- И, наконец, у нас есть переменная последовательности, которая может быть либо списком, кортежем или любым другим типом итератора.
- Часть операторов внутри цикла – это место, где вы можете работать с переменной итератора и выполнять различные функции
Вывод отдельных букв строки с помощью цикла for
Строка Python – это последовательность символов. Если внутри ваших программных приложений вам нужно пройти по символам строки по отдельности, вы можете использовать здесь цикл for.
Вот как это будет работать для вас.
Вывод:
Причина, по которой этот цикл работает, заключается в том, что Python рассматривает “строку” как последовательность символов, а не как целое.
Использование цикла for для итерации по списку или кортежу Python
Списки и Кортежи являются итерируемыми объектами. Давайте посмотрим, как мы можем перебирать элементы в этих объектах сейчас.
Вывод:
Теперь давайте двинемся вперед и поработаем над перебором элементов кортежа здесь.
Вложенные циклы for в Python
Когда у нас есть цикл for внутри другого цикла for, это называется вложенным циклом for. Существует несколько применений вложенного цикла for.
Рассмотрим приведенный выше пример списка. Цикл for выводит отдельные слова из списка. Но что, если мы хотим вывести отдельные символы каждого из слов в списке?
Здесь лучше всего работает вложенный цикл for. Первый цикл (родительский цикл) будет перебирать слова одно за другим. Второй цикл (дочерний цикл) будет перебирать символы каждого из слов.
Вывод
A nested loop is structurally similar to nested if
statements
Цикл for в Python с функцией range()
В Python range является одной из встроенных функций. Когда вам нужно, чтобы цикл for выполнялся определенное количество раз, или вам нужно указать диапазон объектов для печати, функция range работает очень хорошо.
При работе с range()
вы можете передать от 1 до 3 целочисленных аргументов:
start
указывает целочисленное значение, с которого начинается последовательность, если это не указано, тоstart
начинается с 0stop
всегда требуется и является целым числом, которое учитывается, но не включаетсяstep
устанавливает, на сколько увеличивать (или уменьшать в случае отрицательных чисел) следующую итерацию, если это опущено, тоstep
по умолчанию равен 1
Рассмотрим следующий пример, где я хочу напечатать числа 1, 2 и 3:
Функция range также принимает еще один параметр помимо начала и конца. Это параметр шага. Он указывает функции range, сколько чисел пропускать между каждым подсчетом.
В приведенном ниже примере я использовал число 3 в качестве шага, и вы можете видеть, что выводимые числа представляют собой предыдущее число + 3.
Мы также можем использовать отрицательное значение для аргумента step
, чтобы итерироваться в обратном порядке, но мы должны соответствующим образом настроить аргументы start
и stop
:
Здесь 100 – это значение start
, 0 – значение stop
, а -10
– это диапазон, поэтому цикл начинается с 100 и заканчивается на 0, уменьшаясь на 10 с каждой итерацией. Это отображается в выводе:
Output100
90
80
70
60
50
40
30
20
10
При программировании на Python циклы for
часто используют тип последовательности range()
в качестве параметров для итерации.
Оператор прерывания с циклом for
Оператор break используется для преждевременного выхода из цикла for. Он используется для прерывания цикла for, когда достигается определенное условие.
Допустим, у нас есть список чисел, и мы хотим проверить, присутствует ли число или нет. Мы можем перебрать список чисел, и если число найдено, выйти из цикла, потому что нам не нужно продолжать перебирать оставшиеся элементы.
В этом случае мы будем использовать условие if else Python вместе с нашим циклом for.
Оператор continue с циклом for
Мы можем использовать оператор continue внутри цикла for, чтобы пропустить выполнение тела цикла for для определенного условия.
Предположим, у нас есть список чисел, и мы хотим вывести сумму положительных чисел. Мы можем использовать оператор continue, чтобы пропустить итерацию цикла for для отрицательных чисел.
Цикл for в Python с блоком else
Мы можем использовать блок else с циклом for в Python. Блок else выполняется только в том случае, если цикл for не завершается оператором break.
Предположим, у нас есть функция для вывода суммы чисел только в том случае, если все числа четные.
Мы можем использовать оператор break для завершения цикла for в случае наличия нечетного числа. Мы можем вывести сумму в блоке else, чтобы она выводилась только в случае нормального выполнения цикла for.
Циклы for с использованием последовательных типов данных
Списки и другие типы последовательностей данных также могут быть использованы в качестве параметров итерации в циклах for
. Вместо того чтобы перебирать range()
, вы можете определить список и перебирать его.
Мы присвоим список переменной, а затем переберем список:
В этом случае мы выводим каждый элемент списка. Хотя мы использовали переменную shark
, мы могли бы назвать переменную любым другим допустимым именем переменной, и мы получили бы тот же вывод:
Outputhammerhead
great white
dogfish
frilled
bullhead
requiem
Вывод выше показывает, что цикл for
перебрал список и распечатал каждый элемент списка по одному на строку.
Списки и другие типы данных, основанные на последовательностях, такие как строки и кортежи, часто используются с циклами, потому что они являются итерируемыми. Вы можете объединить эти типы данных с range()
, чтобы добавить элементы в список, например:
Output['hammerhead', 'great white', 'dogfish', 'frilled', 'bullhead', 'requiem', 'shark', 'shark', 'shark', 'shark', 'shark', 'shark']
Здесь мы добавили заполнительную строку 'shark'
для каждого элемента длины списка sharks
.
Вы также можете использовать цикл for
, чтобы построить список с нуля:
В этом примере список integers
инициализируется пустым, но цикл for
заполняет список следующим образом:
Output[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
Точно так же мы можем итерироваться по строкам:
OutputS
a
m
m
y
Итерация по кортежам выполняется в том же формате, что и итерация по спискам или строкам выше.
При итерации по словарю важно помнить структуру ключ : значение, чтобы убедиться, что вы обращаетесь к правильному элементу словаря. Вот пример, который вызывает как ключ, так и значение:
Outputname: Sammy
animal: shark
location: ocean
color: blue
При использовании словарей с циклами for
, переменная для итерации соответствует ключам словаря, а dictionary_variable[iterating_variable]
соответствует значениям. В указанном выше случае переменная для итерации key
использовалась для обозначения ключа, а sammy_shark[key]
использовалась для обозначения значений.
Циклы часто используются для итерации и манипуляции последовательными типами данных.
Заключение
Цикл for в Python очень похож на циклы в других языках программирования. Мы можем использовать инструкции break и continue с циклом for для изменения выполнения. Однако в Python у нас также может быть необязательный блок else в цикле for.
I hope you have gained some interesting ideas from the tutorial above. If you have any questions, let us know in the comments below.
Отсюда вы можете продолжить изучение циклов, прочитав учебники о циклах while и инструкциях break, continue и pass.
Чтобы работать с циклами for
в проектах, следуйте инструкциям в следующих учебниках:
Source:
https://www.digitalocean.com/community/tutorials/how-to-construct-for-loops-in-python-3