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

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

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

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}")
copy

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

question mark

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

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

Все було зрозуміло?

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

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

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

Запитати АІ

expand

Запитати АІ

ChatGPT

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

Секція 5. Розділ 1
some-alt