Курс Python → Генераторные функции в Python
Генераторные функции (generator functions) в Python представляют собой специальный вид функций, которые позволяют создавать итераторы. Итераторы позволяют поэлементно обходить коллекции данных, не загружая все элементы в память сразу. Если у вас есть необходимость фильтровать или обрабатывать элементы списка, то использование генераторных функций может быть удобным решением.
Для определения генераторной функции в Python используется ключевое слово yield. Когда функция содержит оператор yield, она становится генераторной функцией. Вместо того чтобы возвращать результат с помощью return, генераторная функция возвращает объект-генератор, который может быть использован для итерации по значениям, генерируемым функцией по одному.
Одним из главных преимуществ использования генераторных функций является экономия памяти. Поскольку генераторы не хранят все элементы в памяти сразу, они позволяют эффективно обрабатывать большие объемы данных. Кроме того, генераторы могут улучшить читаемость кода и упростить его структуру, особенно при работе с большими коллекциями данных.
def filter_even_numbers(numbers):
for number in numbers:
if number % 2 == 0:
yield number
even_numbers = filter_even_numbers([1, 2, 3, 4, 5, 6])
for number in even_numbers:
print(number)
В приведенном примере мы создаем генераторную функцию filter_even_numbers, которая фильтрует четные числа из списка. Затем мы создаем объект-генератор even_numbers, который мы можем использовать для итерации по отфильтрованным значениям. При вызове функции print будут выведены только четные числа из списка.
Другие уроки курса "Python"
- Преобразование кортежа в словарь.
- Капитализация строк
- Создание списка через итерацию
- PrettyTable: создание таблицы
- Метод enumerate() в Python
- Ускорение обработки данных с %autoawait
- Лямбда-функции в Python
- Python: возвращение нескольких значений
- Прокачанный трейсинг ошибок
- Модуль inspect
- Моржовый оператор в Python 3.8
- Оператор «or» в Python
- Распаковка значений в Python
- Функция reduce() в Python
- Codecademy в Telegram
- Работа с deque в Python
- Создание итерируемых объектов
- Python Метод Union Множеств
- Работа с асинхронными задачами в Python
- Поиск индекса элемента в списке
- Копирование списков в Python
- Изменение элемента списка
- Генератор бросков кубиков
- Работа со строками в Python
- Генерация резюме в Gensim
- Поиск частого элемента
- Повторение и перенос строки
- PUT запрос для обновления данных
- Инверсия списка/строки в Python
- Работа с CSV файлами
- Избегайте пустого списка
- Установка Python — Простое руководство
- Замена текста с помощью sub
- Удаление элемента из списка в Python
- Каналы Senior: Python, Java, Frontend, SQL, C++
- Подписка на SelectelNews в Twitter
- Исключение NotImplementedError
- Определение наиболее частого элемента с помощью collections.Counter
- Бесконечная проверка в Python
- Concrete Paths — метод .with_suffix()
- Работа с модулем random
- Метод gt в Python
- Многострочные комментарии в Python
- Подчеркивание в REPL
- Логические значения в Python
- Транспонирование 2D-массива с помощью zip















