Курс 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. Модуль subprocess: запуск внешних команд
  2. Сортировка в Python
  3. Преобразование букв в нижний регистр
  4. Проверка вхождения подстроки
  5. Генераторы списков в Python
  6. Вызов функций по строке в Python.
  7. Генерация резюме в Gensim
  8. Перевод текста с Python Translator
  9. Переворот строки с использованием цикла
  10. Генерация ключей RSA
  11. Проектирование Singleton с метаклассом
  12. Concrete Paths — метод .with_suffix()
  13. Проблема с изменяемыми аргументами
  14. Библиотека Emoji: использование смайлов в Python
  15. Проверка подстроки в строке с помощью in
  16. Обработка StopIteration в Python
  17. Numpy: разбиение массивов
  18. Добавление кнопки в tkinter
  19. Экспорт внешнего файла с помощью writefile
  20. Python groupby() из itertools: работа с повторяющимися элементами
  21. Enum в Python
  22. Работа с файлами и директориями в Python.
  23. Создание пустых функций и классов в Python
  24. Изменение регистра данных
  25. Деление в Python
  26. Нахождение максимального значения и его индекса в списке
  27. EMOT преобразование эмодзи в текст
  28. Бесконечная проверка в Python
  29. Настройка вывода NumPy
  30. Метод округления чисел
  31. Метод __call__ в Python
  32. Перегрузка операторов в Python
  33. Метод get для словаря
  34. Создание словаря и множества
  35. Поиск анаграмм с Counter
  36. Работа с CSV файлами в Python
  37. Повторение элементов в Python
  38. Декоратор Ajax required
  39. Проверка типов с помощью isinstance
  40. Протокол управления контекстом
  41. Сравнение def и lambda в Python
  42. Создание даты из строки ISO
  43. Метод enumerate() в Python
  44. Мониторинг памяти с Pympler
  45. Работа с collections в Python.
  46. Базовые объекты Python

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