Курс 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
- Подчеркивание в REPL
- Установка и использование модуля Wikipedia
- Удаление специальных символов с помощью re.sub
- Копирование в Python
- Оператор += для объединения строк
- Работа со стеком в Python
- Работа с аргументами командной строки
- HTTP-запросы с библиотекой Requests
- Работа с deque из collections
- Модуль math: основные функции
- Получение срезов итераторов
- Функция pow() — возвести число в степень
- Импорт в Python: список all
- Рекурсия для обращения строки
- Библиотека itertools: объединение списков
- Декораторы в Python
- Функция findall() для поиска вхождений строки
- Python: возвращение нескольких значений
- Основные функции и модули Python
- Сортировка слиянием
- Генераторы списков в Python
- Удаление пробелов методом translate()
- Основы работы со списками
- Методы HTTP запросов в Flask
- Удаление дубликатов из списка с помощью dict.fromkeys
- Работа с контекстным менеджером Pool
- Сортировка в Python
- Работа с getopt
- Генераторные функции в Python
- Отладка регулярных выражений в Python
- Работа с файлами в Python
- Операторы сравнения в Python
- F-строки в Python 3.8
- Работа с процессами в Python
- Утечки переменных цикла в Python 3.x
- Функция с **kwargs в Python
- Работа с исключениями в Python
- Функции map, filter и reduce
- Замена текста с помощью sub
- Аннотации типов в Python
- Именование столбцов в Python с pandas
- Статическая типизация в Python
- Настройка Cron
- Необязательные аргументы в Python















