Цикл
for
используется для итерации по последовательностям (таким как списки, строки, кортежи и т.д.) или другими итерабельными объектами (например, диапазоны чисел, словари, множества). В отличие от других языков программирования, где цикл for
часто используется для выполнения определённого числа повторений, в Python он более гибкий и позволяет перебирать элементы коллекции напрямую.Синтаксис
for элемент in последовательность:
# Блок кода, выполняемый для каждого элемента
элемент
— это переменная, которая будет принимать значение каждого элемента последовательности поочередно.последовательность
— это любой итерируемый объект (список, строка, диапазон и т.д.).Итерация по списку
Рассмотрим пример, где мы будем перебирать список и выводить каждый элемент.
fruits = ['яблоко', 'банан', 'вишня']
for fruit in fruits:
print(fruit)
''' Вывод:
яблоко
банан
вишня
'''
Итерация по строке
Можно итерировать и по символам строки.
word = "привет"
for letter in word:
print(letter)
''' Вывод:
п
р
и
в
е
т
'''
Использование функции
range()
Часто возникает необходимость итерировать по ряду чисел. Для этого удобно использовать функцию
range()
.for i in range(5):
print(i)
''' Вывод:
0
1
2
3
4
'''
Функция
range()
может принимать до трёх аргументов:range(stop)
— создаёт последовательность от 0 до stop
(не включая stop
).range(start, stop)
— создаёт последовательность от start
до stop
(не включая stop
).range(start, stop, step)
— создаёт последовательность от start
до stop
с шагом step
.for i in range(1, 10, 2):
print(i)
''' Вывод:
1
3
5
7
9
'''
Вложенные циклы
for
Вложенные циклы используются для итерации по многомерным структурам данных, например, по спискам списков.
matrix = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
for row in matrix:
for element in row:
print(element, end=' ')
print()
Использование
enumerate()
Функция
enumerate()
позволяет одновременно итерировать по элементам и получать их индексы.names = ['Алексей', 'Борис', 'Вера']
for index, name in enumerate(names):
print(f'Индекс: {index}, Имя: {name}')
'''Вывод:
Индекс: 0, Имя: Алексей
Индекс: 1, Имя: Борис
Индекс: 2, Имя: Вера
'''
Цикл
for
с else
В Python цикл
for
может иметь блок else
, который выполняется после завершения цикла, если цикл не был прерван с помощью break
. Если же цикл был прерван, то блок else
не выполняется:for i in range(5):
print(i)
else:
print("Цикл завершён без прерывания")