Курс Python → Выражения-генераторы в Python

Выражения-генераторы в Python представляют собой удобный способ создания итерируемых объектов без необходимости сохранения всех значений в памяти. Они позволяют эффективно обрабатывать большие объемы данных, так как элементы вычисляются по требованию.

Одной из особенностей выражений-генераторов является то, что после прохождения по ним они остаются пустыми. Это означает, что после того, как все элементы были извлечены из генератора, его состояние сбрасывается и повторный проход по нему начнется сначала.

Еще одним важным моментом является то, что выражение-генератор может быть бесконечным. Это означает, что оно может продолжать генерировать элементы до бесконечности, что полезно в определенных сценариях, где необходимо работать с потоками данных или генерировать последовательности чисел.

Важно помнить, что к выражениям-генераторам не применимы срезы, так как они не поддерживают произвольный доступ к элементам. Однако из генератора легко можно получить нужную коллекцию, преобразовав его в список или другую структуру данных.


# Пример использования выражения-генератора
gen = (x**2 for x in range(10))
print(list(gen)) # Преобразование генератора в список

В следующей главе мы более подробно рассмотрим способы работы с выражениями-генераторами, их преимущества и ограничения, а также покажем примеры использования в реальных сценариях.

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Порядок и длина множеств в Python
  2. Моржовый оператор в Python 3.8
  3. f-строки в формате строк
  4. Реверс строки и списка в Python.
  5. HTTP-запросы с библиотекой Requests
  6. Изменение списка срезом
  7. Перемешивание списка с shuffle()
  8. Enum в Python: создание и использование перечислений
  9. Управление асинхронными задачами на Python.
  10. Генерация строк с .join()
  11. Счетчик в Python: most_common()
  12. Управление асинхронными задачами с помощью Semaphore
  13. Транспонирование 2D-массива с помощью zip
  14. Отправка поздравлений по дню рождения
  15. Проверка переменных окружения в Python
  16. Пропуск строк в файле с itertools
  17. Управление ресурсами в Python
  18. Замыкания в Python
  19. Управление экспортом элементов
  20. Подсказки типов в Python
  21. Обработка исключений в Python
  22. Замена переменных в Python
  23. Основы работы со списками
  24. Комментарии в Python
  25. Управление доступом к модулю
  26. Операторы Splat и splatty-splat
  27. Управление User-Agent в Python
  28. Создание панели меню Tkinter
  29. Преобразование вложенного списка
  30. Основные операции с библиотекой Numpy
  31. Сравнение объектов в Python
  32. Метод invert для побитового отрицания
  33. discard() — удаление элемента из множества
  34. Перевод двоичного кода в целое число
  35. Быстрый поиск кода
  36. Concrete Paths в Python
  37. Именование столбцов в Python с pandas
  38. Mad Libs Generator
  39. Поиск уникальных элементов строкой в Python
  40. Удаление ключа из словаря в Python
  41. Импорт модулей в Python 3.12
  42. Python groupby() из itertools: работа с повторяющимися элементами
  43. Работа с NumPy.linalg
  44. Функция map() и ленивая оценка
  45. Работа с PosixPath() в Python
  46. Работа с буфером обмена на Python

Marketello читают маркетологи из крутых компаний