Курс 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. Разделение строк в Python
  4. Работа со строками
  5. Нахождение хеша для бесконечности и NaN в Python
  6. Операторы += в Python
  7. Генерация UUID в Python
  8. Функции с необязательными аргументами
  9. Фильтрация списка от «ложных» значений
  10. Декораторы с @wraps
  11. Оператор объединения словарей
  12. Поиск индексов подстроки
  13. Наследование в программировании
  14. Подсчет элементов с помощью Counter
  15. Списковое включение в Python
  16. История Python
  17. Поиск наиболее частого элемента в списке
  18. Передача словаря через **kwargs
  19. Переменная с нижним подчеркиванием
  20. Форматирование строк в Python.
  21. Логические значения в Python
  22. Оптимизация методов в Python 3.7
  23. Генераторы в Python
  24. Метод ne для сравнения объектов
  25. ChainMap избыточные ключи
  26. Частичное совпадение ввода
  27. Numpy: разбиение массивов
  28. Поиск анаграмм с Counter
  29. Официальный канал Python в Telegram
  30. Flask — веб-фреймворк Python
  31. Использование type hints
  32. Перевод текста с Python Translator
  33. Преобразование данных в Python
  34. Метод __irshift__ для Python
  35. Получение текущей даты и времени
  36. Метод pop() списка
  37. Распаковка элементов массива
  38. Операции с матрицами в Python
  39. Функция enumerate() — Python
  40. Библиотека schedule: планировщик задач
  41. Работа с CSV в Python
  42. Установка и использование Logzero
  43. Чтение и запись TOML-конфигов
  44. Изменение IP-адреса в Python

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