Курс 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. Удаление файлов с shutil.os.remove()
  2. Справка по импортированным модулям
  3. Удаление элемента из списка
  4. Загрузка постов Instagram
  5. Освоение Python
  6. Создание коллекций из выражения-генератора
  7. Операторы увеличения и уменьшения переменной
  8. Сглаживание списка
  9. discard() — удаление элемента из множества
  10. Участие в LP стейкинге Waves
  11. Преобразование строки в число
  12. Изменения в обработке логических значений
  13. Использование метода lower()
  14. Добавление цвета в консоли
  15. Работа с IP-адресами в Python
  16. Сериализация и десериализация объектов
  17. Декоратор для группы пользователей в Django
  18. CSV строка разделение в Python
  19. Бинарный поиск
  20. Явный импорт в Python
  21. Работа с Colorama
  22. Разделение строки в Python
  23. Управление ресурсами в Python
  24. Переопределение метода divmod
  25. Перевод текста с Python Translator
  26. Оформление кода на Python
  27. Работа с асинхронными задачами в Python
  28. Создание пользовательской коллекции в Python
  29. Взаимодействие с внешними процессами в Python
  30. Оператор space-invader
  31. Списки в Python: основы
  32. Python Enumerate
  33. Тип данных TypeVarTuple
  34. Модуль inspect
  35. Оптимизация сравнения в Python
  36. Множественное присваивание в Python
  37. Изменение объектов в Python
  38. Лямбда-функции в цикле
  39. Оператор «or» в Python
  40. Описание скриптов в README
  41. Обезопасьте ввод данных
  42. Генераторы списков
  43. Pretty-printing JSON в Python
  44. Модуль xkcd: загрузка комиксов

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