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

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

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

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

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


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

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

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

Автор урока

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

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

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

  1. Оптимизация интернирования строк
  2. Таймер обратного отсчета
  3. Очистка данных с Pandas
  4. Инверсия списка/строки в Python
  5. Python reversed() функция
  6. Декораторы для регистрации функций
  7. Операторы сравнения в Python
  8. Измерение времени выполнения кода
  9. Анализ текста на русском языке с помощью Pymystem3
  10. Установка Home Assistant
  11. Функция enumerate() — Python
  12. Итерация по копии коллекции
  13. Поиск анаграмм с Counter
  14. Создание функций высшего порядка
  15. Создание списков в Python
  16. Переопределение метода xor в Python
  17. Numpy: использование Ellipsis
  18. Работа с файлами в Python
  19. Удаление URL-адресов в Python
  20. Мониторинг памяти с Pympler
  21. Переопределение оператора % для объектов
  22. Установка и использование модуля Wikipedia
  23. Введение в Python
  24. Импортирование в Python
  25. Отправка HTTP-запросов в Python
  26. Копирование объектов в Python
  27. Автоматизация с Python
  28. Преобразование строк в числа с плавающей запятой
  29. Замеры производительности в Python
  30. Переопределение метода __lshift__
  31. Оператор обр. импликации
  32. Частичное совпадение пользовательского ввода в Python 3.10
  33. Настройка логгера Logzero
  34. Многострочные строки в Python
  35. Преобразование символов с помощью map
  36. Вакансии в Nebius
  37. Метод join() для объединения элементов строки
  38. Лямбда-функции для min/max
  39. Проверка дубликатов в Python
  40. Модуль functools в Python
  41. Обработка ошибки IndexError
  42. Генерация случайных чисел Python
  43. Преобразование чисел в слова
  44. Метод init в Python
  45. Управление сессиями в Python

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