В этой статье вы научитесь перебирать последовательность элементов, используя различные варианты цикла for.
Видео: Python для цикла
Что такое цикл for в Python?
Цикл for в Python используется для перебора последовательности (списка, кортежа, строки) или других итерируемых объектов. Обход последовательности называется обходом.
Синтаксис for Loop
для val в последовательности: Тело для
Здесь val
- переменная, которая принимает значение элемента внутри последовательности на каждой итерации.
Цикл продолжается, пока мы не дойдем до последнего элемента в последовательности. Тело цикла for отделяется от остальной части кода отступом.
Блок-схема цикла for

Пример: Python для цикла
# Program to find the sum of all numbers stored in a list # List of numbers numbers = (6, 5, 3, 8, 4, 2, 5, 4, 11) # variable to store the sum sum = 0 # iterate over the list for val in numbers: sum = sum+val print("The sum is", sum)
Когда вы запустите программу, вывод будет:
Сумма 48
Функция range ()
Мы можем сгенерировать последовательность чисел, используя range()
функцию. range(10)
будет генерировать числа от 0 до 9 (10 чисел).
Мы также можем определить начало, остановку и размер шага как range(start, stop,step_size)
. step_size по умолчанию равен 1, если не указан.
В range
каком-то смысле объект «ленив», потому что он не генерирует все числа, которые он «содержит», когда мы его создаем. Однако, это не итератор , так как он поддерживает in
, len
и __getitem__
операции.
Эта функция не сохраняет все значения в памяти; это было бы неэффективно. Таким образом, он запоминает запуск, остановку, размер шага и генерирует следующее число на ходу.
Чтобы заставить эту функцию выводить все элементы, мы можем использовать функцию list()
.
Следующий пример поясняет это.
print(range(10)) print(list(range(10))) print(list(range(2, 8))) print(list(range(2, 20, 3)))
Вывод
диапазон (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
циклах для перебора последовательности чисел. Его можно комбинировать с len()
функцией для перебора последовательности с помощью индексации. Вот пример.
# Program to iterate through a list using indexing genre = ('pop', 'rock', 'jazz') # iterate over the list using index for i in range(len(genre)): print("I like", genre(i))
Вывод
Мне нравится поп, мне нравится рок, мне нравится джаз
цикл for с else
У for
цикла также может быть необязательный else
блок. Эта else
часть выполняется, если элементы в последовательности, использованной в цикле for, исчерпаны.
break
Можно использовать ключевое слово , чтобы остановить цикл. В таких случаях часть else игнорируется.
Следовательно, часть else цикла for выполняется, если не происходит прерывания.
Вот пример, иллюстрирующий это.
digits = (0, 1, 5) for i in digits: print(i) else: print("No items left.")
Когда вы запустите программу, вывод будет:
0 1 5 Ничего не осталось.
Здесь цикл for печатает элементы списка до тех пор, пока цикл не будет исчерпан. Когда цикл for завершается, он выполняет блок кода в else
и выводит «Нет оставшихся элементов».
Этот for… else
оператор можно использовать с break
ключевым словом для запуска else
блока только в том случае, если break
ключевое слово не было выполнено. Возьмем пример:
# program to display student's marks from record 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.')
Вывод
Записей с таким именем не найдено.