Курс 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. Оператор += в Python
  2. Работа с кортежами
  3. Функция zip() в Python
  4. Проектирование Singleton с метаклассом
  5. Python 3.12: Псевдонимы типов
  6. Извлечение новостей с помощью newspaper3k
  7. Метод __complex__ в Python
  8. Просмотр внешнего файла в Python
  9. Сложение матриц в NumPy
  10. Операция += для списков
  11. Обновление ключей в Python
  12. discard() — удаление элемента из множества
  13. Генераторы списков
  14. Создание и обучение модели с Keras
  15. Аннотации типов в Python
  16. Модуль inspect: получение информации о объектах
  17. Руководство по Pymorphy2
  18. Обход дочерних элементов BeautifulSoup
  19. Названия переменных
  20. Введение в PyTorch
  21. Непрерывная проверка в Python
  22. Избегайте изменяемых аргументов
  23. Получение списка кортежей из словаря
  24. Обновление шаблона base.html
  25. Делегирование в Python
  26. Поиск подстроки в строке
  27. Отправка POST-запроса в REST API
  28. Хеширование паролей с солью
  29. Метод __imod__ для Python
  30. Приоритет операций в Python
  31. Возведение в квадрат с помощью itertools
  32. Документирование функций в Python
  33. Библиотека Rich: форматирование текста
  34. Метод radd для пользовательских чисел
  35. Работа с очередями в Python
  36. Обработка исключения UnboundLocalError
  37. split() без разделителя
  38. Тип данных TypeVarTuple
  39. Безопасный доступ к значениям словаря
  40. kwargs в Python
  41. Цикл for в Python
  42. Раздувающийся словарь в Python
  43. Работа с индексами списков
  44. Область видимости переменных
  45. Взаимодействие с sys
  46. None в Python: использование и особенности

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