Python для цикла

В этой статье вы научитесь перебирать последовательность элементов, используя различные варианты цикла for.

Видео: Python для цикла

Что такое цикл for в Python?

Цикл for в Python используется для перебора последовательности (списка, кортежа, строки) или других итерируемых объектов. Обход последовательности называется обходом.

Синтаксис for Loop

 для val в последовательности: Тело для

Здесь val- переменная, которая принимает значение элемента внутри последовательности на каждой итерации.

Цикл продолжается, пока мы не дойдем до последнего элемента в последовательности. Тело цикла for отделяется от остальной части кода отступом.

Блок-схема цикла for

Блок-схема цикла for в Python

Пример: 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.')

Вывод

 Записей с таким именем не найдено.

Интересные статьи...