For Loop в Python можно использовать для итерации набора операторов один раз для каждого элемента последовательности или коллекции.
Последовательность или коллекция может быть диапазоном, списком, кортежем, словарем, набором или строкой.
В этом руководстве мы узнаем, как реализовать цикл for для каждой из вышеупомянутых коллекций.
Синтаксис
Синтаксис цикла For:
for item in iterable:
statement(s)
Вы можете получить доступ к переменной элемента внутри блока. iterable может быть последовательностью или коллекцией.
Блок-схема
Блок-схема:
При выполнении программы в первый раз, проверяется, есть ли элемент из iterable. Если элемент доступен, программа выполняет оператор(ы) внутри блока for. После выполнения оператора(ов) программа проверяет, доступен ли следующий элемент. Если True, то оператор(ы) снова выполняются для следующего элемента. Блок цикла for выполняется для каждого элемента в итерируемом объекте. После выполнения оператора(ов) для всех элементов в итерируемом объекте выполнение доходит до ситуации, когда в итерируемом элементе нет следующего элемента. Тогда цикл считается завершенным, и выполнение продолжается со следующих операторов в программе.
Пример 1: с диапазоном
В этом примере мы будем использовать For для перебора диапазона чисел.
for i in range(25,29): print(i)
Вывод:
25 26 27 28
Диапазон составляет от 25 до 29. Итак, в диапазоне есть элементы: 25, 26, 27 и 28. Операторы внутри цикла выполняются для каждого из этих элементов.
Для этих примеров в теле цикла есть только один оператор печати. Но вы можете написать столько операторов, сколько требуется, следуя отступу.
Пример 2: со списком
В этом примере мы возьмем список и переберем его элементы.
mylist = ['python', 'programming', 'examples', 'programs'] for x in mylist: print(x)
Обратите внимание, что во время каждой итерации мы можем получить доступ к элементу, для которого выполняется цикл. В этом случае мы можем получить доступ к элементу, используя переменную x.
Вывод:
python programming examples programs
Пример 3: с кортежем
В этом примере мы возьмем кортеж и переберем его элементы.
mytuple = ('python', 'programming', 'examples', 'programs')
for x in mytuple:
print(x)
Мы могли получить доступ к этому элементу кортежа в цикле for, используя переменную x.
Вывод:
python programming examples programs
Пример 4: со словарем
В этом примере мы возьмем словарь и переберем пары ключ: значение словаря.
mydictionary = {'name':'python', 'category':'programming', 'topic':'examples'}
for x in mydictionary:
print(x, ':', mydictionary[x])
Переменная mydictionary возвращает итерацию ключей словаря. Следовательно, мы могли получить только ключ в x. Но используя x в качестве ключа, мы получаем доступ к значению из словаря внутри блока.
Вывод:
name : python category : programming topic : examples
Пример 5: с набором
В этом примере мы возьмем набор элементов и переберем каждый из них.
myset = {'python', 'programming', 'examples'}
for x in myset:
print(x)
Вывод:
python examples programming
Поскольку set является неупорядоченной коллекцией, порядок, в котором цикл обращается к следующему элементу из набора, неочевиден.
Пример 6: со строкой
Строка – это набор символов. Пока мы можем получить итерацию для объекта, мы можем использовать цикл for.
В этом примере мы берем строку и перебираем символы.
mystring = 'pythonexamples' for x in mystring: print(x)
Вывод:
p y t h o n e x a m p l e s
break
Из синтаксиса и блок-схемы мы знаем, что цикл for завершится только после выполнения оператора(ов) для всех элементов в итерируемом объекте. Но мы можем разорвать и завершить его до того, как он действительно запустится для всех элементов в итерируемом объекте, используя оператор break.
В следующей программе мы прервем цикл, когда значение element равно 7. Чтобы реализовать это, мы будем использовать оператор if и break, если условие оценивается как True.
for x in range(2, 10):
if(x==7):
break
print(x)
Вывод:
2 3 4 5 6
Если бы не было оператора break, цикл выполнялся бы до тех пор, пока x не станет 10.
continue
Мы можем пропустить выполнение дальнейших операторов во время этой итерации, используя оператор continue. Когда выполняется оператор continue, цикл продолжает выполнение следующего элемента в итерируемом объекте, а не завершает все операторы в теле цикла.
В следующем примере программы мы продолжим цикл for, когда значение element равно 7.
for x in range(2, 10):
if(x==7):
continue
print(x)
Вывод:
2 3 4 5 6 8 9
Когда x равен 7, выполняется инструкция continue. Оператор печати после оператора continue был пропущен и продолжен со следующего элемента в цикле, который равен 8.
Блок Else
Как и в инструкции if-else, вы можете использовать блок else с циклом for. Этот блок выполняется после того, как цикл завершен со всеми элементами в итерируемом объекте.
for x in range(2, 6):
print(x)
else:
print('Out of for loop')
Вывод:
2 3 4 5 Out of for loop
Вложенный цикл
For в Python похож на другую команду или оператор. Итак, можно написать цикл for внутри другого цикла for, и это называется вложенным циклом
for x in range(5):
for y in range(6):
print(x, end=' ')
print()
Вывод:
0 0 0 0 0 0 1 1 1 1 1 1 2 2 2 2 2 2 3 3 3 3 3 3 4 4 4 4 4 4
Заключение
В этом руководстве на примерах Python мы научились использовать цикл For в разных вариантах и с такими операторами, как break, continue, else и т.д.