Курс 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"
- Очистка списка от False, None, 0, «»
- Вывод с переменной через запятую
- Поиск индекса элемента в списке
- Работа с файлами и директориями в Python.
- Принципы Zen of Python
- Присоединение элементов коллекции
- inspect в Python: анализ кода
- Декораторы в Python
- Создание уникального множества
- Обмен значений переменных в Python
- Работа с массивами в Python
- Лямбда-функции в Python
- SciPy: широкий функционал для математических операций
- Сравнение def и lambda функций в Python
- Удаление дубликатов из списка с помощью dict.fromkeys
- Работа с географическими данными в Python
- Обработка данных в Python
- Установка и использование pyshorteners
- Аннотации типов в Python
- Повторение элементов в Python
- Курс Data Scientist в медицине
- Подсказки типов в Python
- Преобразование числа в восьмеричную строку
- Выборка чисел
- Модуль xkcd: добавление юмора в Python
- Транспонирование 2D-массива с помощью zip
- Создание коллекций из генератора
- Генерация случайных чисел в Python
- Конструктор в Python
- Изменение переменной в Python: nonlocal
- Вывод переменной и строки в Python
- Определение размера папок в Python
- Цикл for в Python
- Именование переменных в Python
- Работа с изменяемыми списками
- Модуль Antigravity в Python 3
- Создание веб-приложения с Flask
- Сравнение def и lambda в Python
- Отправка HTTP-запросов в Python
- Библиотека sh: использование команд bash в Python
- ROT13 Шифр Цезаря в Python
- Удаление дубликатов из списка
- Импорт модулей в Python 3.12
- Участие в LP стейкинге Waves
- Использование обратной косой черты в f-строках
- Срез списка в Python
- Лямбда-функции для min/max
- Переворот строки















