Мастерство цикла for в Python: Синтаксис, примеры и продвинутые паттерны
Цикл for в Python
Узнайте, как перебирать списки, кортежи, строки и другие итерируемые объекты в Python с понятными пошаговыми примерами.
Видео: Цикл for в Python
Что такое цикл for в Python?
Цикл for итерируется по итерируемому объекту — такому как список, кортеж или строка — выполняя блок кода один раз для каждого элемента.
Синтаксис цикла for
for val in sequence:
# тело цикла
Здесь val захватывает каждый элемент из sequence во время итерации.
Цикл автоматически завершается после последнего элемента. Правильные отступы отделяют тело цикла от окружающего кода.
Блок-схема цикла for

Пример: Суммирование списка чисел
# Программа для нахождения суммы всех чисел в списке
# Список чисел
numbers = [6, 5, 3, 8, 4, 2, 5, 4, 11]
# переменная для хранения суммы
sum = 0
# итерация по списку
for val in numbers:
sum = sum + val
print("The sum is", sum)
При запуске вывод будет:
The sum is 48
Функция range()
Функция range() генерирует последовательность чисел. range(10) даёт от 0 до 9.
Принимает опциональные start, stop и step: range(start, stop, step). Если step опущен, по умолчанию 1.
Внутренне range ленив — вычисляет каждое число по требованию, а не сохраняет все. Это делает его память-еффективным для больших последовательностей.
Для материализации всей последовательности оберните в list():
print(range(10))
print(list(range(10)))
print(list(range(2, 8)))
print(list(range(2, 20, 3)))
Вывод
range(0, 10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] [2, 3, 4, 5, 6, 7] [2, 5, 8, 11, 14, 17]
Использование range() в цикле for распространено для числовой итерации или когда нужен индекс каждого элемента:
# Программа для итерации по списку с использованием индекса
genre = ['pop', 'rock', 'jazz']
# итерация по списку с индексом
for i in range(len(genre)):
print("I like", genre[i])
Вывод
I like pop I like rock I like jazz
Цикл for с else
Цикл for может включать опциональную клаузулу else. Блок else выполняется только если цикл завершился нормально (т.е. без break).
Пример:
digits = [0, 1, 5]
for i in digits:
print(i)
else:
print("No items left.")
Вывод:
0 1 5 No items left.
В сочетании с break клаузула else может сигнализировать о неудаче поиска:
# Программа для вывода оценки студента из записи
student_name = 'Soyuj'
marks = {'James': 90, 'Jules': 55, 'Arthur': 77}
for student in marks:
if student == student_name:
print(marks[student])
break
else:
print('No entry with that name found.')
Вывод
No entry with that name found.
Python
- Цикл for в C#: синтаксис, поток выполнения и практические примеры
- Освоение цикла for в C++: пошаговое руководство
- Цикл for в C: синтаксис, механика и практические примеры
- Мастерство операторов Python: Полное руководство
- Мастерство цикла while в Python: Синтаксис, примеры и лучшие практики
- Словари в Python: создание, манипуляции и продвинутые техники
- Java-программа для идентификации чисел Армстронга с использованием for-цикла
- Освоение циклов Python: for, while, break, continue и enumerate
- Освоение функции range() в Python: от основ к продвинутым сценариям
- Освоение enumerate() в Python: циклы с индексами для списков, кортежей, строк и словарей