Курс Python → Генераторы данных
Выражения-генераторы в Python представляют собой компактный и эффективный способ создания итераторов. Они позволяют генерировать элементы последовательности по требованию, что позволяет экономить память и улучшить производительность программы. Для создания выражения-генератора используется синтаксис, аналогичный списковым включениям, но вместо квадратных скобок используются круглые скобки.
gen = (x**2 for x in range(10))
В данном примере создается выражение-генератор, которое генерирует квадраты чисел от 0 до 9. При этом элементы не хранятся в памяти, а выдаются по одному при обращении к итератору. Это делает выражения-генераторы особенно полезными при работе с большими объемами данных или при необходимости обработки элементов последовательности по мере их поступления.
Выражения-генераторы могут быть использованы в различных контекстах, например, при фильтрации или преобразовании данных. Они позволяют написать более компактный и читаемый код, чем использование циклов и условий. Кроме того, выражения-генераторы могут быть вложенными, что позволяет создавать сложные структуры данных с минимальными усилиями.
filtered_gen = (x for x in gen if x % 2 == 0)
В этом примере создается новое выражение-генератор, которое фильтрует только четные элементы из предыдущего выражения-генератора. Таким образом, можно последовательно применять различные операции к данным, не создавая промежуточные списки или кортежи. Использование выражений-генераторов способствует написанию более эффективного и чистого кода в Python.
Другие уроки курса "Python"
- Оператор += в Python
- Работа с кортежами
- Функция zip() в Python
- Проектирование Singleton с метаклассом
- Python 3.12: Псевдонимы типов
- Извлечение новостей с помощью newspaper3k
- Метод __complex__ в Python
- Просмотр внешнего файла в Python
- Сложение матриц в NumPy
- Операция += для списков
- Обновление ключей в Python
- discard() — удаление элемента из множества
- Генераторы списков
- Создание и обучение модели с Keras
- Аннотации типов в Python
- Модуль inspect: получение информации о объектах
- Руководство по Pymorphy2
- Обход дочерних элементов BeautifulSoup
- Названия переменных
- Введение в PyTorch
- Непрерывная проверка в Python
- Избегайте изменяемых аргументов
- Получение списка кортежей из словаря
- Обновление шаблона base.html
- Делегирование в Python
- Поиск подстроки в строке
- Отправка POST-запроса в REST API
- Хеширование паролей с солью
- Метод __imod__ для Python
- Приоритет операций в Python
- Возведение в квадрат с помощью itertools
- Документирование функций в Python
- Библиотека Rich: форматирование текста
- Метод radd для пользовательских чисел
- Работа с очередями в Python
- Обработка исключения UnboundLocalError
- split() без разделителя
- Тип данных TypeVarTuple
- Безопасный доступ к значениям словаря
- kwargs в Python
- Цикл for в Python
- Раздувающийся словарь в Python
- Работа с индексами списков
- Область видимости переменных
- Взаимодействие с sys
- None в Python: использование и особенности















