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

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

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

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

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


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

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

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

Автор урока

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

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

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

  1. Парсинг статей с Newspaper3k
  2. JSON в Python: модуль, dump, dumps, load
  3. Асинхронное выполнение задач в Python
  4. Лямбда-функции в Python
  5. Оператор is в Python
  6. Работа с необработанными строками
  7. Создание объекта времени
  8. Сериализация данных в JSON с помощью json.dumps
  9. Измерение времени выполнения кода
  10. Метод Enumerate() для списков
  11. Переопределение метода len
  12. Функции классификации комплексных чисел
  13. Декораторы с аргументами в Python
  14. Python: цикл for и оператор присваивания
  15. Асинхронное программирование с asyncio
  16. Перемешивание списка с shuffle()
  17. Генераторы списков
  18. Профилирование кода
  19. Генераторные функции в Python
  20. Форматирование строк в Python
  21. Контроль точности вывода чисел
  22. Функция enumerate() в Python
  23. Декоратор @override
  24. Удаление элементов во время итерации
  25. Работа с файлами в Python
  26. discard() — удаление элемента из множества
  27. Оператор space-invader
  28. Создание файла с проверкой ошибки
  29. Отображение графиков в Jupyter с Matplotlib
  30. Использование *args
  31. Метод __int__ в Python
  32. Создание именованных кортежей в Python
  33. Подсчет элементов в Python
  34. Flask: создание веб-приложений
  35. Управление асинхронными задачами на Python.
  36. Форматирование строк в Python
  37. Бинарный поиск
  38. Глобальные переменные в Python
  39. Заказ карты Тинькофф Black
  40. Декораторы в Python
  41. ChainMap.new_child() — добавление нового словаря
  42. Область видимости переменных
  43. Объединение словарей в Python
  44. Нахождение пересечения множеств
  45. Обмен значений переменных в Python

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