Курс 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. Очистка списка от False, None, 0, «»
  2. Вывод с переменной через запятую
  3. Поиск индекса элемента в списке
  4. Работа с файлами и директориями в Python.
  5. Принципы Zen of Python
  6. Присоединение элементов коллекции
  7. inspect в Python: анализ кода
  8. Декораторы в Python
  9. Создание уникального множества
  10. Обмен значений переменных в Python
  11. Работа с массивами в Python
  12. Лямбда-функции в Python
  13. SciPy: широкий функционал для математических операций
  14. Сравнение def и lambda функций в Python
  15. Удаление дубликатов из списка с помощью dict.fromkeys
  16. Работа с географическими данными в Python
  17. Обработка данных в Python
  18. Установка и использование pyshorteners
  19. Аннотации типов в Python
  20. Повторение элементов в Python
  21. Курс Data Scientist в медицине
  22. Подсказки типов в Python
  23. Преобразование числа в восьмеричную строку
  24. Выборка чисел
  25. Модуль xkcd: добавление юмора в Python
  26. Транспонирование 2D-массива с помощью zip
  27. Создание коллекций из генератора
  28. Генерация случайных чисел в Python
  29. Конструктор в Python
  30. Изменение переменной в Python: nonlocal
  31. Вывод переменной и строки в Python
  32. Определение размера папок в Python
  33. Цикл for в Python
  34. Именование переменных в Python
  35. Работа с изменяемыми списками
  36. Модуль Antigravity в Python 3
  37. Создание веб-приложения с Flask
  38. Сравнение def и lambda в Python
  39. Отправка HTTP-запросов в Python
  40. Библиотека sh: использование команд bash в Python
  41. ROT13 Шифр Цезаря в Python
  42. Удаление дубликатов из списка
  43. Импорт модулей в Python 3.12
  44. Участие в LP стейкинге Waves
  45. Использование обратной косой черты в f-строках
  46. Срез списка в Python
  47. Лямбда-функции для min/max
  48. Переворот строки

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