Курс Python → Выражения-генераторы в Python
Выражения-генераторы в Python представляют собой синтаксис, похожий на синтаксис представления списка (list comprehension), который позволяет создать объект-генератор. Генераторы представляют собой специальный тип итератора, который генерирует значения по требованию, что позволяет экономить память и увеличивает производительность.
Для создания выражения-генератора используется круглые скобки вместо квадратных скобок, как при создании списка. Например, чтобы создать генератор, который фильтрует пустые строки из файла и удаляет символ перехода на новую строку в конце (\n), можно использовать следующий синтаксис:
gen = (line.strip() for line in open('file.txt') if line.strip() != '')
В данном примере создается генератор, который читает строки из файла ‘file.txt’, удаляет символы переноса строки и фильтрует пустые строки. При этом значения генерируются по требованию и не хранятся все сразу в памяти, что уменьшает потребление ресурсов.
Использование выражений-генераторов позволяет компактно и эффективно обрабатывать данные, особенно при работе с большими объемами информации. Они являются важным инструментом в Python для работы с итерируемыми объектами и обеспечивают удобство и эффективность при написании кода.
Таким образом, выражения-генераторы представляют собой мощный инструмент в Python, который позволяет создавать объекты-генераторы для обработки данных по требованию. Их использование повышает производительность и экономит память, что делает их незаменимыми при работе с большими объемами данных.
Другие уроки курса "Python"
- Установка и использование TensorFlow
- Работа с аргументами командной строки в Python
- Принципы Zen Python
- Оператор @ для умножения матриц
- Отступы в Python
- Удаление первого элемента списка
- Оператор del в Python
- Списковое включение в Python
- Удаление элементов из списка в Python
- Избегайте изменяемых аргументов
- Модуль os: работа с файлами и папками
- Чтение и запись TOML-конфигов
- Python union() функция — объединение множеств
- Переопределение метода __eq__
- Структурирование именованных констант
- Создание лямбда-функций
- Логирование с Logzero
- Регистрация на хакатоне
- Работа с JSON данными в Python
- Особенности множеств в Python
- Переопределение метода
- Лямбда-функции для min/max
- Значения по умолчанию в Python
- Работа со стеком в Python
- Преобразование списков в словарь
- Функции высшего порядка в Python
- Итерация по итерируемым объектам
- Функция sleep() в Python
- Обмен значений переменных в Python
- Поиск шаблона в начале строки
- Управление контекстом выполнения
- Управление мышью и клавиатурой с Pyautogui
- Работа с f-строками 2.0
- Получение пути к текущему скрипту с помощью os
- Параллельные вычисления в Python
- Объединение списков в Python
- Логический оператор «and» в Python
- Настройка вывода NumPy
- Потоковый ввод в Python
- Сравнение def и lambda-функций
- Методы работы со строками в Python
- Декоратор total_ordering для сравнения объектов
- Основы Python
- Модуль subprocess: запуск внешних команд
- Работа с комплексными числами
- Работа с GitHub в Telegram















