Курс 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: цикл for и оператор присваивания
  2. Управление виртуальными средами в Python
  3. Создание новой даты в Python
  4. Переопределение унарных операторов
  5. Многострочные комментарии в Python
  6. Функция all() в Python
  7. Преобразование вложенного списка
  8. Управление мышью и клавиатурой с Pyautogui
  9. Преобразование числа в восьмеричную строку
  10. Работа с библиотекой requests
  11. Модуль subprocess: запуск внешних команд
  12. Обработка исключений в Python 3
  13. discard() — удаление элемента из множества
  14. Вывод символов строки в Python
  15. Безопасные SQL-запросы в Python 3.11
  16. Удаление дубликатов из списка с помощью dict.fromkeys
  17. Функция format() в Python
  18. Переопределение оператора % для объектов
  19. Получение срезов итераторов
  20. Определение объема памяти объекта
  21. Функция zip() в Python
  22. split() — разделение строки
  23. Метод count() для списков
  24. Удаление эмодзи с помощью pandas
  25. Работа с CSV файлами в Python
  26. Автоматизация скриптов на AWS Lightsail.
  27. Работа с модулем random
  28. Методы list в Python
  29. JMESPath в Python
  30. Объединение словарей в Python
  31. Работа с deque в Python
  32. Работа с WindowsPath()
  33. Defaultdict в Python
  34. Извлечение данных из JSON
  35. Оператор объединения словарей
  36. Чтение бинарного файла в Python.
  37. Форматирование строк в Python
  38. Непрерывная проверка в Python
  39. Генерация ключей RSA
  40. Глобальные переменные в Python
  41. Работа с enumerate()
  42. Основы работы с os
  43. Оптимизация интернирования строк
  44. Анонимные функции Lambda
  45. Структура строк в Python
  46. Объединение множеств в Python
  47. Импорт модуля из другого каталога

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