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

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

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

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

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


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

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

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

Автор урока

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

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

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

  1. Разделение строки с помощью re.split()
  2. Методы сравнения множеств
  3. Создание класса очереди
  4. Создание уникального множества
  5. Избегание циклических зависимостей классов в Python
  6. Управление асинхронными задачами на Python.
  7. Настройка шрифта и цвета в Tkinter
  8. Модуль functools в Python
  9. Вставка переменных в шаблоны Flask
  10. Генерация ключей RSA
  11. Оператор += для объединения строк
  12. Создание новых списков через list comprehensions
  13. Генераторы в Python
  14. Использование модуля __future__
  15. Объединение словарей в Python
  16. Функции map, filter, reduce
  17. Лямбда-функции для min/max
  18. Очистка данных с помощью pandas
  19. Создание GUI на Tkinter
  20. Создание итератора
  21. Работа с утверждениями в Python
  22. Проверка наличия элемента в списке
  23. Управление ресурсами в Python
  24. Область видимости переменных
  25. Создание графики с черепахой
  26. Генераторы в Python
  27. Модуль array: создание и использование массивов
  28. Циклы for в Python
  29. Отладка регулярных выражений в Python
  30. Отладка в Python
  31. Оператор (*) в Python
  32. Срезы в Python
  33. Избегайте изменяемых аргументов
  34. Генераторы и сеты в Python
  35. Enum в Python: создание и использование перечислений
  36. Метод rlshift для битового сдвига
  37. Перезапуск ячейки в Jupyter Notebook с dostoevsky
  38. Объединение Python и Shell
  39. ChainMap избыточные ключи
  40. Метод сравнения объектов в Python
  41. Работа с GitHub в Telegram
  42. Оптимизация интернирования строк
  43. Создание словарей и множеств в Python.
  44. Сортировка в Python
  45. Python 3.12: переиспользование кавычек
  46. Многопроцессорное программирование в Python

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