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

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

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

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

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


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

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

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

Автор урока

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

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

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

  1. PUT запрос для обновления данных
  2. Логирование с Loguru
  3. Измерение времени выполнения кода
  4. Условные выражения в Python
  5. Просмотр файла в Jupyter Noteboo
  6. Переопределение метода sub
  7. Декораторы в Python
  8. Переворот списка в Python
  9. GitHub в Telegram: подписка на уведомления
  10. Enum в Python
  11. Принципы Zen of Python
  12. Установка User-Agent в Python
  13. Строки в Python: апострофы и кавычки
  14. Модуль sys: основы
  15. Проверка версии Python
  16. Проверка класса объекта
  17. Работа с JSON данными в Python
  18. Срез списка в Python
  19. Расчет времени выполнения
  20. Lambda-функция в Python: использование с map() и sum()
  21. Создание словаря с значением по умолчанию
  22. Динамическая типизация в Python
  23. Модуль Antigravity в Python 3
  24. Списковое включение в Python
  25. Удаление символа из строки
  26. Извлечение аудио из видео
  27. Работа с timedelta
  28. Ускорение кода с помощью векторизации
  29. Присвоение и ссылки
  30. Отступы в Python
  31. Combobox в Tkinter
  32. Логический оператор «and» в Python
  33. Получение имени функции с помощью inspect
  34. Функции map() и reduce() в Python
  35. Перезапуск ячейки в Jupyter Notebook с dostoevsky
  36. Работа с collections.Counter
  37. Обработка исключений с блоком else
  38. Сложение матриц в NumPy
  39. Разделение строки в Python
  40. Сортировка в Python
  41. Итерации в Python
  42. Условные выражения в Python
  43. Сравнение строк в Python
  44. Синхронизация доступа к ресурсам
  45. Перегрузка операторов в Python

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