Курс 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. Функция enumerate в Python
  2. Рекурсия для обращения строки
  3. Преобразование текста в нижний регистр
  4. Экспорт внешнего файла с помощью writefile
  5. Работа с геоданными с помощью geopy
  6. Пересечение списков с использованием множеств
  7. Установка максимального количества цифр
  8. Работа со словарями с defaultdict из collections
  9. Порядок операций в Python
  10. Создание словаря и множества
  11. Декоратор @override
  12. Очистка данных с Pandas
  13. Метод enumerate() в Python
  14. Работа со временем в Python
  15. Оператор «моржа» (Walrus Operator)
  16. Настройка вывода в Numpy
  17. Python Enumerate
  18. Оператор is в Python
  19. Замена элементов в списке с помощью генераторов списков
  20. Функция zip() — объединение последовательностей
  21. Создание тестовых данных с Faker
  22. Работа с срезами в Numpy
  23. Python UserString — создание подклассов строк
  24. Каналы Senior: Python, Java, Frontend, SQL, C++
  25. Избегайте ошибку FileNotFoundError
  26. Работа с кортежами в Python
  27. Просмотр файла в Jupyter Noteboo
  28. Метод Event.wait() в Python
  29. Преобразование типов данных в set comprehension
  30. Поиск наиболее частого элемента в списке
  31. List Comprehension Tutorial
  32. Асинхронное выполнение задач в процессах
  33. Обмен значений переменных в Python
  34. Подписка на Kaspersky Team
  35. Дизассемблирование Python кода
  36. Метод join() для объединения строк
  37. Избегайте пустого списка
  38. Работа с контекст-менеджером «with»
  39. Управление контекстом с помощью декоратора contextmanager
  40. Создание даты из строки ISO
  41. Сравнение def и lambda функций в Python

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