Курс Python → Генераторы данных

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

gen = (x**2 for x in range(10))

В данном примере создается выражение-генератор, которое генерирует квадраты чисел от 0 до 9. При этом элементы не хранятся в памяти, а выдаются по одному при обращении к итератору. Это делает выражения-генераторы особенно полезными при работе с большими объемами данных или при необходимости обработки элементов последовательности по мере их поступления.

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

filtered_gen = (x for x in gen if x % 2 == 0)

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

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

Автор урока

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

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

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

  1. Протокол управления контекстом
  2. Список переменных в Python
  3. Сортировка слиянием
  4. Списковое включение в Python
  5. Работа с эмодзи в Python
  6. Работа с срезами в Python
  7. Цикл for в Python
  8. EMOT преобразование эмодзи в текст
  9. Библиотека sh: удобные команды терминала
  10. Извлечение новостей с помощью newspaper3k
  11. Многопоточность и асинхронное программирование в Python
  12. Функция enumerate() в Python
  13. Получение текущей даты в Python
  14. Сравнение def и lambda в Python
  15. Генераторы в Python
  16. Базовые объекты Python
  17. Модуль subprocess: запуск внешних команд
  18. Многопоточность в Python
  19. Метод rxor для операции побитового исключающего «или»
  20. Установка и использование модуля Wikipedia
  21. Проверка условий: all и any
  22. Работа с асинхронными задачами в Python
  23. Работа с Colorama
  24. Работа со строками в Python.
  25. Работа с словарями в Python
  26. Работа с комплексными числами в Python
  27. Замена элементов в списке с помощью генераторов списков
  28. Резервирование символов в Python
  29. Работа с URL-адресами в Python
  30. Форматирование строк в Python.
  31. Создание словарей с defaultdict
  32. Отношения подклассов в Python
  33. Проверка элементов списка условием
  34. Создание функций с произвольным количеством аргументов
  35. Декораторы с аргументами в Python
  36. Множества и frozenset
  37. Форматирование чисел в Python
  38. Равенство и идентичность в Python
  39. Оптимизация создания строк
  40. ChainMap.new_child() — добавление нового словаря
  41. Преобразование списка в словарь через генератор
  42. Вызов внешних программ в Python с помощью sh
  43. Декодирование байтов в строку
  44. Работа с кортежами в Python
  45. Транспонирование 2D-массива с помощью zip

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