Курс 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. Построение графиков в терминале с bashplotlib
  2. Модуль Antigravity в Python 3
  3. Метод matmul для умножения матриц
  4. Обработка ошибок в Python
  5. Работа с файлами в Python
  6. Срезы в Numpy
  7. Измерение времени выполнения кода
  8. Работа со временем в Python
  9. Проверка наличия элемента в списке
  10. Метод title() в Python
  11. Работа с кортежами
  12. Работа с парами ключ-значение
  13. Оператор break в Python
  14. Создание лямбда-функций
  15. Вывод баннеров
  16. Метод __irshift__ для Python
  17. Логические операторы в Python
  18. Создание пользовательской коллекции в Python
  19. Доступ к локальным переменным
  20. Создание вложенного генератора
  21. Представление бесконечности в Python
  22. Оптимизация параметров в Python
  23. Преобразование числа в список цифр
  24. Резервирование символов в Python
  25. Умножение строк и списков
  26. Кортежи в Python: особенности и преимущества
  27. Измерение времени выполнения кода
  28. Операции со строками в Python
  29. Создание и использование модулей в Python
  30. Инверсия списков и строк в Python
  31. Разделение строки на пары ключ-значение.
  32. Библиотека funcy: удобные утилиты
  33. Операторы += в Python
  34. Контекстный менеджер в Python
  35. Метод split() для разделения строк
  36. Удаление элементов во время итерации
  37. Работа с enumerate()
  38. Python Enumerate
  39. Оптимизация памяти с __slots__
  40. Преобразование букв в нижний регистр
  41. Генерация строк с .join()
  42. Метод join для наборов
  43. Работа с YAML в Python: PyYAML.
  44. Наиболее частотные элементы с помощью Counter

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