Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Використання вбудованих ітераторів | Ітератори Python
Концепції функціонального програмування в Python
Секція 5. Розділ 1
single

single

Використання вбудованих ітераторів

Свайпніть щоб показати меню

Python надає кілька вбудованих ітераторів, які дозволяють обробляти колекції виразно та ефективно щодо пам'яті. Три з найпоширеніших — це enumerate, zip та map.

  • enumerate дозволяє перебирати послідовність із відстеженням як індексу, так і значення кожного елемента;
  • zip дає змогу ітерувати кілька послідовностей паралельно, поєднуючи елементи разом;
  • Нагадаємо, що map — це функція вищого порядку, концепція, яку ми вже використовували для застосування операцій до даних. Тут ми розглядаємо цей інструмент через протокол ітератора. Замість того, щоб сприймати його лише як спосіб обробки списку, ми бачимо його як спеціалізований об'єкт, який створює результати за потребою, перетворюючи наше розуміння map зі статичного функціонального інструменту на динамічний, ефективний потік.

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

123456
# Using enumerate and zip to process two lists in parallel names = ["Alice", "Bob", "Charlie"] scores = [85, 92, 78] for idx, (name, score) in enumerate(zip(names, scores), start=1): print(f"{idx}. {name} scored {score}")

У цьому коді zip(names, scores) поєднує кожне ім'я з відповідним балом, створюючи ітератор кортежів на кшталт ("Alice", 85). Обгортання цього у enumerate додає лічильник, починаючи з 1, тому кожна ітерація надає індекс, ім'я та бал. Цикл виводить ім'я та бал кожного студента з префіксом позиції у списку. Такий підхід є лаконічним і зрозумілим, демонструючи, як вбудовані ітератори спрощують роботу з кількома послідовностями.

question mark

Яка основна мета використання enumerate разом із zip у цьому прикладі коду?

Виберіть правильну відповідь

Switch to desktopПерейдіть на комп'ютер для реальної практикиПродовжуйте з того місця, де ви зупинились, використовуючи один з наведених нижче варіантів
Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 5. Розділ 1
single

single

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

some-alt