Курс Python → Выражения-генераторы в Python
Выражения-генераторы в Python представляют собой удобный способ создания итерируемых объектов без необходимости сохранения всех значений в памяти. Они позволяют эффективно обрабатывать большие объемы данных, так как элементы вычисляются по требованию.
Одной из особенностей выражений-генераторов является то, что после прохождения по ним они остаются пустыми. Это означает, что после того, как все элементы были извлечены из генератора, его состояние сбрасывается и повторный проход по нему начнется сначала.
Еще одним важным моментом является то, что выражение-генератор может быть бесконечным. Это означает, что оно может продолжать генерировать элементы до бесконечности, что полезно в определенных сценариях, где необходимо работать с потоками данных или генерировать последовательности чисел.
Важно помнить, что к выражениям-генераторам не применимы срезы, так как они не поддерживают произвольный доступ к элементам. Однако из генератора легко можно получить нужную коллекцию, преобразовав его в список или другую структуру данных.
# Пример использования выражения-генератора
gen = (x**2 for x in range(10))
print(list(gen)) # Преобразование генератора в список
В следующей главе мы более подробно рассмотрим способы работы с выражениями-генераторами, их преимущества и ограничения, а также покажем примеры использования в реальных сценариях.
Другие уроки курса "Python"
- Порядок и длина множеств в Python
- Моржовый оператор в Python 3.8
- f-строки в формате строк
- Реверс строки и списка в Python.
- HTTP-запросы с библиотекой Requests
- Изменение списка срезом
- Перемешивание списка с shuffle()
- Enum в Python: создание и использование перечислений
- Управление асинхронными задачами на Python.
- Генерация строк с .join()
- Счетчик в Python: most_common()
- Управление асинхронными задачами с помощью Semaphore
- Транспонирование 2D-массива с помощью zip
- Отправка поздравлений по дню рождения
- Проверка переменных окружения в Python
- Пропуск строк в файле с itertools
- Управление ресурсами в Python
- Замыкания в Python
- Управление экспортом элементов
- Подсказки типов в Python
- Обработка исключений в Python
- Замена переменных в Python
- Основы работы со списками
- Комментарии в Python
- Управление доступом к модулю
- Операторы Splat и splatty-splat
- Управление User-Agent в Python
- Создание панели меню Tkinter
- Преобразование вложенного списка
- Основные операции с библиотекой Numpy
- Сравнение объектов в Python
- Метод invert для побитового отрицания
- discard() — удаление элемента из множества
- Перевод двоичного кода в целое число
- Быстрый поиск кода
- Concrete Paths в Python
- Именование столбцов в Python с pandas
- Mad Libs Generator
- Поиск уникальных элементов строкой в Python
- Удаление ключа из словаря в Python
- Импорт модулей в Python 3.12
- Python groupby() из itertools: работа с повторяющимися элементами
- Работа с NumPy.linalg
- Функция map() и ленивая оценка
- Работа с PosixPath() в Python
- Работа с буфером обмена на Python















