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

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

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

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

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


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

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

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

Автор урока

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

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

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

  1. Конкатенация строк с помощью join()
  2. Безопасный доступ к значениям словаря
  3. Импорт модулей в Python 3.12
  4. Анонимные функции Lambda
  5. Печать списка с помощью метода join
  6. Нахождение разницы между списками в Python
  7. Счетчик в Python: most_common()
  8. Создание матрицы в Python
  9. Декораторы в Python
  10. Ускорение обработки данных с %autoawait
  11. Установка и использование pyshorteners
  12. Python 3.12: переиспользование кавычек
  13. Работа с SQLite в Python
  14. Распаковка элементов последовательности
  15. Отслеживание выполнения программы с библиотекой tqdm
  16. Разделение строки в Python
  17. Цепные операции в Python
  18. Передача неизвестных аргументов в Python.
  19. Создание пользовательской коллекции в Python
  20. Модуль array: создание и использование массивов
  21. Работа с Path в Python
  22. Разрешение имен в Python
  23. Основные операции с Numpy
  24. Дизассемблирование Python кода
  25. Оптимизация памяти с __slots__
  26. Метод rlshift для битового сдвига
  27. Выражения-генераторы в Python
  28. Декораторы в Python
  29. Howdoi — получение ответов из терминала
  30. Отделение звука от видео
  31. Лямбда-функции в Python
  32. Запуск файлового сервера
  33. Работа с изображениями PIL
  34. Оператор in в Python
  35. Python enumerate() функции
  36. Создание GUI на Tkinter
  37. PUT запрос для обновления данных
  38. Инициализация объекта
  39. Импорт объектов из модулей
  40. Именование переменных в Python
  41. Работа с Colorama
  42. Логирование с Logzero
  43. Глубокое копирование объектов
  44. Печать календаря в Python
  45. Лимиты на ресурсы Python
  46. Логирование с Logzero

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