Курс 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. Срезы в Python
  2. Подчеркивание в REPL
  3. Установка и использование модуля Wikipedia
  4. Удаление специальных символов с помощью re.sub
  5. Копирование в Python
  6. Оператор += для объединения строк
  7. Работа со стеком в Python
  8. Работа с аргументами командной строки
  9. HTTP-запросы с библиотекой Requests
  10. Работа с deque из collections
  11. Модуль math: основные функции
  12. Получение срезов итераторов
  13. Функция pow() — возвести число в степень
  14. Импорт в Python: список all
  15. Рекурсия для обращения строки
  16. Библиотека itertools: объединение списков
  17. Декораторы в Python
  18. Функция findall() для поиска вхождений строки
  19. Python: возвращение нескольких значений
  20. Основные функции и модули Python
  21. Сортировка слиянием
  22. Генераторы списков в Python
  23. Удаление пробелов методом translate()
  24. Основы работы со списками
  25. Методы HTTP запросов в Flask
  26. Удаление дубликатов из списка с помощью dict.fromkeys
  27. Работа с контекстным менеджером Pool
  28. Сортировка в Python
  29. Работа с getopt
  30. Генераторные функции в Python
  31. Отладка регулярных выражений в Python
  32. Работа с файлами в Python
  33. Операторы сравнения в Python
  34. F-строки в Python 3.8
  35. Работа с процессами в Python
  36. Утечки переменных цикла в Python 3.x
  37. Функция с **kwargs в Python
  38. Работа с исключениями в Python
  39. Функции map, filter и reduce
  40. Замена текста с помощью sub
  41. Аннотации типов в Python
  42. Именование столбцов в Python с pandas
  43. Статическая типизация в Python
  44. Настройка Cron
  45. Необязательные аргументы в Python

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