Курс 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. Установка и использование emoji
  4. Декораторы в Python
  5. UserString в Python
  6. Переименование файлов в Python
  7. Настройка шрифта и цвета в Tkinter
  8. Циклы в Python
  9. Преобразование данных в Python
  10. Установка и использование модуля Wikipedia
  11. Настройка логгера Logzero
  12. Создание и обучение модели с Keras
  13. Замена текста с re.sub()
  14. Решатель судоку на Python с pygame
  15. Модуль xkcd: загрузка комиксов
  16. Перевернуть список в Python
  17. Основы работы со строками в Python
  18. Работа с enumerate()
  19. Работа с итераторами через срезы
  20. Работа с IP-адресами в Python
  21. Сортировка и разворот списка
  22. Оптимизация строк в Python
  23. Объединение словарей в Python
  24. Big O оптимизация
  25. Изменение объектов в Python
  26. Печать календаря
  27. Константы в модуле cmath
  28. Метод rlshift для битового сдвига
  29. Установка и использование Virtualenv
  30. Комментарии в Python
  31. Блок try…finally в Python
  32. Метод __index__ в Python
  33. Библиотека Emoji: использование смайлов в Python
  34. Замена переменных в Python
  35. Метод ne для сравнения объектов
  36. Измерение времени выполнения с помощью time
  37. Атрибуты класса и экземпляра
  38. Декораторы в Python
  39. Создание пользовательской коллекции в Python
  40. Объединение словарей в Python
  41. Запуск внешних программ с subprocess
  42. Поиск частого элемента
  43. Изменение элемента списка
  44. Python Ellipsis использование
  45. Вывод сложных структур данных с помощью pprint
  46. Возвращение нескольких значений

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