Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Використання вбудованих ітераторів | Ітератори Python
Середній Рівень Python

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

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

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 у цьому прикладі коду?

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

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

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

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

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

Запитати АІ

expand

Запитати АІ

ChatGPT

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

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