Використання вбудованих ітераторів
Свайпніть щоб показати меню
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, тому кожна ітерація надає індекс, ім'я та бал. Цикл виводить ім'я та бал кожного студента з префіксом позиції у списку. Такий підхід є лаконічним і зрозумілим, демонструючи, як вбудовані ітератори спрощують роботу з кількома послідовностями.
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат