Home
» Power BI
»
Python For Loop: короткий посібник із опанування ітерації
Python For Loop: короткий посібник із опанування ітерації
Одним із найцікавіших понять у мовах програмування є цикли. Уявіть, що перед вами стоїть завдання. Це просто, але повторюється, як підрахунок від 1 до 100. Тепер ви можете робити це вручну, одне число за раз. Але це буде трудомістким і не дуже ефективним. Ось де з’являються цикли в програмуванні.
Цикл — це керуюча структура, яка дозволяє повторювати набір інструкцій, доки не буде виконано певну умову. Умовою може бути будь-що: певна кількість повторень, певний стан даних або навіть зовнішня подія. Цикл Python For Loop — це особливий тип циклу, який використовується, коли ви знаєте точні повторення для циклу.
Ви використовуєте цикли for у своєму коді, щоб спростити процес повторення послідовності або колекції елементів. Це може бути список, рядок, словник, набір або будь-який інший ітерований об’єкт у Python .
Використовуючи цикл for, ви можете виконати блок коду для кожного елемента в послідовності. Наприклад, якщо вам потрібно надрукувати всі елементи списку, замість того, щоб писати оператор друку для кожного елемента, ви можете просто використати цикл for. Це робить ваш код більш ефективним, читабельним і менш схильним до помилок.
Перш ніж почати писати цикли for, ви повинні зрозуміти основи. У цій статті ми розглянемо синтаксис для циклів Python for, термінологію, яка використовується під час роботи з ними, і як їх використовувати в різних сценаріях.
У Python цикли for використовуються для повторення об’єктів, які можна повторити. Основний синтаксис циклу for такий:
for variable in iterable:
# code to execute for each item
У цьому синтаксисі «змінна» — це ім’я, яке ви обираєте для поточного елемента в ітерації. «Iterable» — це послідовність або набір елементів, які потрібно повторити.
Код усередині циклу, позначений тут як «# код для виконання для кожного елемента», це дія, яку ви хочете виконати для кожного елемента в ітерації.
Наведений нижче приклад демонструє базовий цикл for у Python:
cities = ['New York', 'London', 'Paris', 'Tokyo']
for city in cities:
print(city)
У наведеному вище прикладі 'city' є змінною, а 'cities' є ітерованим. Код усередині циклу print(city), який друкує кожне місто зі списку.
Python Iterables і Iterable Objects
Ще одна важлива концепція, яку слід розуміти під час роботи з циклами, — це концепція ітерованих і ітерованих об’єктів.
У Python iterable — це будь-який об’єкт, здатний повертати свої елементи по одному. Це означає, що ви можете пройти через ітерований об’єкт за допомогою такого методу, як цикл.
Звичайні приклади повторюваних об’єктів, які ви зустрінете, включають списки , рядки , кортежі та словники .
Наприклад, коли ви створюєте список чисел на кшталт [1, 2, 3, 4, 5], ви можете перебирати кожне число в списку. Кожне число є елементом ітерованого списку.
Подібним чином, якщо у вас є такий рядок, як «hello», ви можете повторювати кожен символ у рядку. У цьому випадку рядок є ітерованим, а кожен символ ('h', 'e', 'l', 'l', 'o') є елементом ітерованого.
Нижче ви знайдете кілька прикладів використання циклів for з різними ітерованими елементами.
1. Перегляд списку за допомогою циклу Python For
У Python a — це тип структури даних, яка може містити впорядковану колекцію елементів, що означає, що ви можете зберігати всілякі об’єкти — цілі числа, числа з плаваючою речовиною, рядки та навіть інші списки чи складні об’єкти.
Щоб прокрутити список за допомогою циклу for, ви можете використати такий код:
fruits = ['apple', 'banana', 'cherry']
for fruit in fruits:
print(fruit)
Цей код надрукує всі фрукти зі списку фруктів, як показано нижче:
2. Цикл через кортеж за допомогою циклу Python For
Кортеж у Python — це набір об’єктів, які є впорядкованими та незмінними. Це означає, що після створення кортежу ви не можете змінити його вміст.
Щоб переглянути кортеж за допомогою циклу for, ви можете використати такий код Python:
colors = ('red', 'green', 'blue')
for color in colors:
print(color)
Цикл for пройде по всіх елементах кортежу та виведе їх на екран, як показано на зображенні нижче:
3. Перегляд словника за допомогою циклу Python For
A в Python — це невпорядкована колекція даних, що зберігається як ключ і значення. Це також відоме як пара ключ-значення.
Щоб прокрутити словник за допомогою циклу for, ви можете використати такий код Python:
student = {'name': 'John', 'age': 24, 'course': 'Computer Science'}
for key, value in student.items():
print(key, value)
Цикл for перебирає всі пари ключ-значення у словнику та друкує їх на екрані, як показано нижче:
4. Перехід до рядка за допомогою циклу Python For
Рядок у Python — це послідовність символів. Рядки використовуються в Python для запису текстової інформації, а також довільних колекцій байтів (наприклад, вмісту файлу зображення).
Щоб прокрутити рядок у Python за допомогою циклу for, ви можете використати наведений нижче код:
greeting = "Hello, world!"
for char in greeting:
print(char)
Цикл for виводить на екран кожен алфавіт у рядку, як показано нижче:
Наведені вище приклади показують, як цикли корисні під час ітерації різних типів даних. Ви також можете керувати функціональністю своїх циклів for за допомогою функцій і операторів у вашому циклі.
У наступному розділі розглянемо деякі ключові функції та оператори, які часто використовуються з циклами for .
Ключові функції та оператори в Python для циклів
Коли ви використовуєте цикли for, функції та оператори можуть покращити ваш контроль над циклом і зробити ваш код ефективнішим і легшим для читання.
Нижче ми перерахували ключові функції та оператори, які використовуються в циклах for:
1. Як використовувати функцію Range() із циклом Python For
Функція range() дозволяє генерувати послідовність чисел. Зазвичай він використовується для повторення заданої кількості разів.
Основний синтаксис:
for i in range(start, stop, step):
# your code here
початок : необов'язковий параметр, що визначає початкову точку; за замовчуванням це 0.
stop : обов'язковий параметр, який визначає кінцеву точку (винятковий).
step : необов'язковий параметр, що вказує приріст, зі значенням за замовчуванням 1.
Щоб дати вам чітке розуміння функції діапазону, погляньте на приклад нижче, де ми друкуємо числа від 1 до 5 за допомогою функції діапазону з циклом for:
for i in range(5):
print(i)
2. Як використовувати оператор Break із циклом Python For
Оператор break дозволяє вийти з циклу for, коли виконується певна умова. Коли ключове слово break досягається в тілі циклу, цикл негайно зупиняється.
Нижче наведено приклад циклу for із оператором break:
for i in range(10):
if i == 5:
break
print(i)
Цей код є циклом, що виконується від 0 до 9. Якщо поточне число дорівнює 5, він негайно зупиняє цикл за допомогою break . Таким чином, він друкує лише числа від 0 до 4. Коли він потрапляє на 5, він зупиняється і більше не друкує числа.
3. Як використовувати оператор Continue із циклом For у Python
Оператор continue використовується для пропуску поточної ітерації та переходу до наступної.
Нижче наведено приклад оператора continue із циклом for:
for i in range(5):
if i == 3:
continue
print(i)
Цикл виконується від 0 до 4. Якщо поточне число дорівнює 3, ми пропускаємо його перед завершенням решти циклу для цієї ітерації за допомогою continue . Це означає, що ви друкуєте всі числа від 0 до 4, крім 3.
Зверніть увагу на зображення вище, що число 3 пропущено через оператор continue .
4. Як використовувати оператор Pass
Інструкція pass — це заповнювач, який навмисно нічого не робить. Його можна використовувати, коли вам потрібна структура циклу, але ще немає конкретного коду для виконання в ньому.
Нижче наведено приклад оператора pass із циклом for:
for i in range(5):
pass
Цей цикл нічого не виведе, оскільки оператор pass є заповнювачем для майбутнього коду. Цикли є гнучкими та можуть бути налаштовані відповідно до будь-якого випадку використання, наприклад використання циклів із блоком коду else .
Якщо ви хочете отримати практичні навички роботи з циклами for, перегляньте наступне відео:
Коли ви починаєте писати цикли for, з часом ви захочете перейти до розширених технік у циклах for. Знання передових методів дозволить вам писати ефективніші цикли for майже для будь-якого випадку використання.
Давайте розглянемо деякі просунуті техніки в циклах for у наступному розділі!
3 передові методи використання циклів Python For
Як програмісту Python вам часто доводиться мати справу з колекціями елементів, наприклад списками чи рядками, і виконувати операції над кожним елементом. Щоб виконати ці операції, вам потрібно мати базове розуміння передових методів у циклах for.
У цьому розділі ми розглянемо деякі передові методи використання циклів for у Python. Ми розглянемо вкладені цикли, розуміння списків і функцію enumerate().
1. Як використовувати вкладені цикли Python For
Бувають випадки, коли вам потрібно циклічно переглянути кілька вимірів даних, як-от матрицю або список списків. У таких випадках ви можете використовувати вкладені цикли, які є циклом всередині іншого циклу. Вкладений цикл дає змогу ефективно проходити численні виміри даних.
Нижче наведено приклад вкладеного циклу for:
matrix = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
for row in matrix:
for val in row:
print(val, end=' ')
print()
У цьому коді ми використовуємо вкладений цикл для друку кожного числа в матриці. Зовнішня петля проходить над кожним рядком, а внутрішня петля проходить через кожне число в цьому рядку.
Після друку кожного рядка починаємо новий рядок. Коротше кажучи, ми друкуємо всю матрицю рядок за рядком.
2. Як використовувати цикли Python For для розуміння списків
Якщо ви створюєте новий список на основі існуючого списку або іншого ітерованого списку, ви можете використовувати розуміння списку. Це дозволяє створювати новий список, застосовуючи вираз до кожного елемента в ітерації, все в одному рядку коду.
Загальний синтаксис розуміння списку такий:
[expression for variable in iterable if condition]
Припустімо, що ви хочете створити список квадратів для діапазону чисел, ви можете використовувати наступне розуміння списку:
squares = [x ** 2 for x in range(1, 11)]
print(squares)
Цей код створює список квадратів для чисел від 1 до 10 за допомогою одного рядка коду.
3. Як використовувати функцію Enumerate().
Коли ви переглядаєте список або рядок і вам потрібно знати індекс поточного елемента, ви використовуєте enumerate () . Він повертає кожен елемент разом із його індексом, що полегшує обробку позиції елементів.
Нижче наведено приклад функції перерахування з циклом for:
fruits = ['apple', 'banana', 'cherry']
for idx, fruit in enumerate(fruits):
print(f"{idx}: {fruit}")
У цьому коді ми переглядаємо список фруктів, але ми також відстежуємо індекс кожного елемента за допомогою функції enumerate , яка повертає кожен елемент у списку разом із його індексом.
Отже, для кожної ітерації циклу idx є індексом, а fruit — елементом. Потім ми друкуємо індекс, а потім фрукти. Це дає нам пронумерований список фруктів.
Тепер, коли ви вивчили розширені методи циклів for, ви можете почати бачити, наскільки гнучкими можуть бути цикли в обробці різних сценаріїв. Але, як і з будь-яким інструментом, важливо знати, коли його використовувати, а коли інший інструмент може бути кращим.
Маючи це на увазі, давайте зосередимося на порівнянні циклів for із циклами while. Це допоможе вам вирішити, який тип циклу найкраще підходить для вашої конкретної ситуації кодування.
Цикли for використовуються для повторення послідовностей, таких як списки або кортежі, і вони мають певний діапазон ітерацій.
З іншого боку, цикли while продовжують виконуватися до тих пір, поки виконується певна умова.
# For loop example
for item in sequence:
# Code to execute for each item in sequence
# While loop example
while condition:
# Code to execute while condition is true
Припустимо, ви хочете надрукувати перші 5 чисел, починаючи з 0.
Використовуючи цикл for, ви напишете:
for i in range(5):
print(i)
Цикл for простий, коли ви заздалегідь знаєте точну кількість ітерацій, як у цьому випадку, коли ви знаєте, що хочете надрукувати 5 чисел.
З іншого боку, використовуючи цикл while, ви напишете:
i = 0
while i < 5:
print(i)
i += 1
У циклі while ви починаєте з початкової умови (i < 5). Цикл продовжує працювати, доки умова не перестане бути істинною. Ви повинні збільшити i в тілі циклу, інакше він працюватиме вічно.
Для цього завдання цикл for простіший і менш схильний до помилок. Але цикл while пропонує більшу гнучкість для ситуацій, коли кількість ітерацій невідома заздалегідь.
Наприклад, розглянемо сценарій, коли ви просите користувача ввести, доки він не введе дійсне число. Ви не знаєте, скільки разів вам доведеться запитувати, тому в цьому випадку доречний цикл while:
while True:
user_input = input("Please enter a number: ")
if user_input.isdigit():
print("Thank you!")
break
else:
print("Invalid input. Try again.")
У цьому коді цикл while продовжує запитувати користувача про введення, доки він не введе дійсне число. Функція isdigit() перевіряє, чи є вхід числом.
Якщо це так, друкується повідомлення та виходить із циклу за допомогою оператора break. Якщо це не число, друкується повідомлення про помилку, і цикл продовжується.
Заключні думки
Цикли for є важливим інструментом у вашому наборі інструментів програмування. Вони дозволяють ефективно виконувати повторювані завдання. Розуміючи цикли for, ви отримуєте можливість маніпулювати даними, автоматизувати завдання та вирішувати складні проблеми за допомогою лише кількох рядків коду.
Освоївши цикли for, ви можете зробити свій код більш читабельним, ефективнішим і більш пітонічним. Практика є ключем до комфортного використання цієї конструкції. Зі знаннями, отриманими з цього посібника, ви добре підготовлені для вирішення широкого спектру проблем програмування за допомогою циклів Python for!