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