У цій статті ви навчитеся перебирати послідовність елементів, використовуючи різні варіанти циклу for.
Відео: Python для Loop
Що таке цикл у Python?
Цикл for у Python використовується для ітерації послідовності (списку, кортежу, рядка) або інших об'єктів, які можна повторити. Ітерація над послідовністю називається обходом.
Синтаксис для циклу
для val в послідовності: тіло for
Тут val
є змінною, яка приймає значення елемента всередині послідовності на кожній ітерації.
Цикл продовжується, поки не дійдемо до останнього елемента в послідовності. Тіло циклу for відокремлено від решти коду за допомогою відступу.
Блок-схема для циклу
Блок-схема для циклу в PythonПриклад: Python для Loop
# 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(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))
Вихідні дані
Мені подобається поп Мені подобається рок Мені подобається джаз
для циклу з else
for
Цикл може мати додатковий else
блок , як добре. else
Частина виконана , якщо елементи в послідовності використовуються протягом циклу вихлопів.
break
Можна використовувати ключове слово , щоб зупинити цикл. У таких випадках інша частина ігнорується.
Отже, інша частина циклу 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.')
Вихідні дані
Запису з таким ім’ям не знайдено.