Курс 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. Генерация резюме в Gensim
  2. Разница между датами
  3. Создание функций высшего порядка
  4. Преобразование чисел в восьмеричную строку
  5. Функция zip() в Python
  6. Python itertools combinations() — группировка элементов
  7. Метод hash в Python
  8. Оператор умножения для вектора
  9. Форматирование даты с strftime()
  10. ROT13 Шифр Цезаря в Python
  11. Преобразование регистра символов
  12. Docstring в Python
  13. Основы слова
  14. Расширение информации об ошибке в Python
  15. Экспорт внешнего файла с помощью writefile
  16. Установка и обучение ChatterBot
  17. Генераторы в Python
  18. Оператор (*) в Python
  19. Функции range() в Python
  20. Работа с CSV файлами
  21. Псевдонимы в Python
  22. Подписка на @SelectelNews
  23. Логирование с Loguru
  24. SciPy: широкий функционал для математических операций
  25. Лимиты на ресурсы Python
  26. Освоение Python
  27. Распаковка элементов массива
  28. Поиск самого частого элемента
  29. Карта бомбоубежищ в Москве и Питере
  30. Python Метод Union Множеств
  31. Python Метод sleep() из time
  32. Чтение бинарного файла в Python.
  33. Подписка на каналы разработчиков
  34. Повторение элементов списков
  35. Переопределение унарных операторов
  36. Работа с очередями в Python
  37. Метод rrshift для пользовательских объектов
  38. Библиотека wikipedia для Python
  39. Декодирование байтов в строку
  40. Генераторы в Python
  41. Цикл for в Python
  42. Замыкания в Python
  43. Работа с множествами в Python
  44. PEP-401: оператор
  45. Форматирование строк в Python
  46. Метод bool() в Python

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