Курс 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. Заказ карты Тинькофф Black
  2. Python: Фильтрация списков с помощью filter()
  3. Работа с NumPy.linalg
  4. Big O оптимизация
  5. Обработка исключений в Python
  6. Модуль subprocess: запуск внешних команд
  7. Работа с пакетами
  8. Отладка в Python
  9. Поиск уникальных элементов строкой в Python
  10. Работа с SQLite в Python
  11. Метод clear для коллекций
  12. Избегание изменяемых аргументов
  13. Динамическая типизация в Python
  14. Работа с defaultdictами в Python
  15. Работа с пользовательским вводом
  16. Замена переменных в Python
  17. Преобразование чисел в восьмеричную строку
  18. Счетчик в Python: most_common()
  19. JMESPath в Python
  20. Именование переменных в Python
  21. Объединение списков с помощью zip
  22. Разделение строки с регулярными выражениями
  23. Поиск индексов в списке
  24. Управление мышью и клавиатурой с Pyautogui
  25. Docstring в Python
  26. Лямбда-функции в Python
  27. Создание namedtuple списком полей
  28. Работа с датой и временем в Python
  29. Работа с IP-адресами в Python
  30. Работа с Path в Python
  31. Работа с многоуровневыми словарями в Python
  32. Особенности множеств в Python
  33. Работа с CSV в Python
  34. Импорт модулей в Python 3.12
  35. Форматирование строк в Python
  36. Вывод сложных структур данных с помощью pprint
  37. Потоковый ввод в Python
  38. Аннотации типов в Python
  39. Beautiful Soup — извлечение данных из HTML
  40. Возврат значений из генератора
  41. Работа с collections.Counter
  42. Определение локальных переменных в Python
  43. Выражения-генераторы в Python
  44. Применение команды break

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