Python For Loop: короткий посібник із опанування ітерації

Одним із найцікавіших понять у мовах програмування є цикли. Уявіть, що перед вами стоїть завдання. Це просто, але повторюється, як підрахунок від 1 до 100. Тепер ви можете робити це вручну, одне число за раз. Але це буде трудомістким і не дуже ефективним. Ось де з’являються цикли в програмуванні.

Цикл — це керуюча структура, яка дозволяє повторювати набір інструкцій, доки не буде виконано певну умову. Умовою може бути будь-що: певна кількість повторень, певний стан даних або навіть зовнішня подія. Цикл Python For Loop — це особливий тип циклу, який використовується, коли ви знаєте точні повторення для циклу.

Python For Loop: короткий посібник із опанування ітерації

Ви використовуєте цикли for у своєму коді, щоб спростити процес повторення послідовності або колекції елементів. Це може бути список, рядок, словник, набір або будь-який інший ітерований об’єкт у Python .

Використовуючи цикл for, ви можете виконати блок коду для кожного елемента в послідовності. Наприклад, якщо вам потрібно надрукувати всі елементи списку, замість того, щоб писати оператор друку для кожного елемента, ви можете просто використати цикл for. Це робить ваш код більш ефективним, читабельним і менш схильним до помилок.

Перш ніж почати писати цикли for, ви повинні зрозуміти основи. У цій статті ми розглянемо синтаксис для циклів Python for, термінологію, яка використовується під час роботи з ними, і як їх використовувати в різних сценаріях.

Давайте потрапимо в це!

Зміст

Який синтаксис для циклів Python?

У 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 For Loop: короткий посібник із опанування ітерації

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)

Цей код надрукує всі фрукти зі списку фруктів, як показано нижче:

Python For Loop: короткий посібник із опанування ітерації

2. Цикл через кортеж за допомогою циклу Python For

Кортеж у Python — це набір об’єктів, які є впорядкованими та незмінними. Це означає, що після створення кортежу ви не можете змінити його вміст.

Щоб переглянути кортеж за допомогою циклу for, ви можете використати такий код Python:

colors = ('red', 'green', 'blue')

for color in colors:
    print(color)

Цикл for пройде по всіх елементах кортежу та виведе їх на екран, як показано на зображенні нижче:

Python For Loop: короткий посібник із опанування ітерації

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 виводить на екран кожен алфавіт у рядку, як показано нижче:

Python For Loop: короткий посібник із опанування ітерації

Наведені вище приклади показують, як цикли корисні під час ітерації різних типів даних. Ви також можете керувати функціональністю своїх циклів 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)

Python For Loop: короткий посібник із опанування ітерації

2. Як використовувати оператор Break із циклом Python For

Оператор break дозволяє вийти з циклу for, коли виконується певна умова. Коли ключове слово break досягається в тілі циклу, цикл негайно зупиняється.

Нижче наведено приклад циклу for із оператором break:

for i in range(10):
  if i == 5:
    break
  print(i)

Python For Loop: короткий посібник із опанування ітерації

Цей код є циклом, що виконується від 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.

Python For Loop: короткий посібник із опанування ітерації

Зверніть увагу на зображення вище, що число 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()

У цьому коді ми використовуємо вкладений цикл для друку кожного числа в матриці. Зовнішня петля проходить над кожним рядком, а внутрішня петля проходить через кожне число в цьому рядку.

Після друку кожного рядка починаємо новий рядок. Коротше кажучи, ми друкуємо всю матрицю рядок за рядком.

Python For Loop: короткий посібник із опанування ітерації

2. Як використовувати цикли Python For для розуміння списків

Якщо ви створюєте новий список на основі існуючого списку або іншого ітерованого списку, ви можете використовувати розуміння списку. Це дозволяє створювати новий список, застосовуючи вираз до кожного елемента в ітерації, все в одному рядку коду.

Загальний синтаксис розуміння списку такий:

[expression for variable in iterable if condition]

Припустімо, що ви хочете створити список квадратів для діапазону чисел, ви можете використовувати наступне розуміння списку:

squares = [x ** 2 for x in range(1, 11)]
print(squares)

Цей код створює список квадратів для чисел від 1 до 10 за допомогою одного рядка коду.

Python For Loop: короткий посібник із опанування ітерації

3. Як використовувати функцію Enumerate().

Коли ви переглядаєте список або рядок і вам потрібно знати індекс поточного елемента, ви використовуєте enumerate () . Він повертає кожен елемент разом із його індексом, що полегшує обробку позиції елементів.

Нижче наведено приклад функції перерахування з циклом for:

fruits = ['apple', 'banana', 'cherry']

for idx, fruit in enumerate(fruits):
    print(f"{idx}: {fruit}")

У цьому коді ми переглядаємо список фруктів, але ми також відстежуємо індекс кожного елемента за допомогою функції enumerate , яка повертає кожен елемент у списку разом із його індексом.

Отже, для кожної ітерації циклу idx є індексом, а fruit — елементом. Потім ми друкуємо індекс, а потім фрукти. Це дає нам пронумерований список фруктів.

Python For Loop: короткий посібник із опанування ітерації

Тепер, коли ви вивчили розширені методи циклів for, ви можете почати бачити, наскільки гнучкими можуть бути цикли в обробці різних сценаріїв. Але, як і з будь-яким інструментом, важливо знати, коли його використовувати, а коли інший інструмент може бути кращим.

Маючи це на увазі, давайте зосередимося на порівнянні циклів for із циклами while. Це допоможе вам вирішити, який тип циклу найкраще підходить для вашої конкретної ситуації кодування.

Цикл For проти циклу While

У Python цикли 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 в тілі циклу, інакше він працюватиме вічно.

Python For Loop: короткий посібник із опанування ітерації

Для цього завдання цикл 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.")

Python For Loop: короткий посібник із опанування ітерації

У цьому коді цикл while продовжує запитувати користувача про введення, доки він не введе дійсне число. Функція isdigit() перевіряє, чи є вхід числом.

Якщо це так, друкується повідомлення та виходить із циклу за допомогою оператора break. Якщо це не число, друкується повідомлення про помилку, і цикл продовжується.

Заключні думки

Цикли for є важливим інструментом у вашому наборі інструментів програмування. Вони дозволяють ефективно виконувати повторювані завдання. Розуміючи цикли for, ви отримуєте можливість маніпулювати даними, автоматизувати завдання та вирішувати складні проблеми за допомогою лише кількох рядків коду.

Освоївши цикли for, ви можете зробити свій код більш читабельним, ефективнішим і більш пітонічним. Практика є ключем до комфортного використання цієї конструкції. Зі знаннями, отриманими з цього посібника, ви добре підготовлені для вирішення широкого спектру проблем програмування за допомогою циклів Python for!


Фінансова інформаційна панель LuckyTemplates: повні поради щодо налаштування таблиці

Фінансова інформаційна панель LuckyTemplates: повні поради щодо налаштування таблиці

LuckyTemplates — чудовий інструмент для фінансової звітності. Ось підручник про те, як створювати персоналізовані таблиці для вашої фінансової інформаційної панелі LuckyTemplates.

Рекомендації щодо потоку мови Power Query

Рекомендації щодо потоку мови Power Query

У цьому підручнику обговорюватиметься технологія Power Query Language Flow і те, як вона може допомогти створити гладкий і ефективний звіт із даними.

Спеціальні значки LuckyTemplates | Техніка візуалізації PBI

Спеціальні значки LuckyTemplates | Техніка візуалізації PBI

Я обговорю одну з моїх улюблених технік, пов’язаних із користувальницькими піктограмами LuckyTemplates, яка динамічно використовує власні піктограми у візуальних елементах LuckyTemplates.

Створення таблиць LuckyTemplates за допомогою функції UNION & ROW

Створення таблиць LuckyTemplates за допомогою функції UNION & ROW

У цьому блозі я покажу вам, як можна створювати таблиці LuckyTemplates за допомогою формули, яка поєднує функції UNION і ROW.

Локальний шлюз даних у Power Automate

Локальний шлюз даних у Power Automate

Дізнайтеся, як локальний шлюз даних дозволяє Power Automate отримувати доступ до настільних програм, коли користувач знаходиться поза комп’ютером.

Відкрийте для себе унікальні ідеї за допомогою функції TOPN LuckyTemplates

Відкрийте для себе унікальні ідеї за допомогою функції TOPN LuckyTemplates

У цьому блозі представлено функцію LuckyTemplates TOPN DAX, яка дає вам змогу отримувати унікальну статистику з ваших даних, допомагаючи вам приймати кращі маркетингові рішення.

Моделювання даних у LuckyTemplates за допомогою допоміжних таблиць

Моделювання даних у LuckyTemplates за допомогою допоміжних таблиць

Дізнайтеся про деякі фантастичні аналітичні прийоми, які ми можемо використовувати для моделювання даних у LuckyTemplates за допомогою таблиць підтримки DAX.

Розширений DAX для LuckyTemplates: впровадження логіки ранжування в унікальній статистиці

Розширений DAX для LuckyTemplates: впровадження логіки ранжування в унікальній статистиці

Тут ми зануримося в LuckyTemplates Advanced DAX і запровадимо логіку ранжирування, щоб отримати дуже унікальну інформацію. У цьому прикладі я також демонструю розгалуження міри.

Функція параметра LuckyTemplates «Що, якщо».

Функція параметра LuckyTemplates «Що, якщо».

У цьому блозі представлено нову функцію в LuckyTemplates — параметр аналізу «Що, якщо». Ви побачите, як це робить усе швидким і легким для аналізу сценарію.

Використовуйте розгалуження міри LuckyTemplates, щоб перевірити, чи зростає ваша маржа зі зростанням доходу

Використовуйте розгалуження міри LuckyTemplates, щоб перевірити, чи зростає ваша маржа зі зростанням доходу

Дізнайтеся, як визначити, чи добре зростає ваш дохід, перевіривши, чи зросла ваша маржа за допомогою розгалуження міри LuckyTemplates.