Курс 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
  2. Генерация ключей RSA
  3. Порядок операций в Python
  4. Библиотека Rich: форматирование текста
  5. Таймер обратного отсчета
  6. Работа с атрибутом dict
  7. Метод rpow в Python
  8. Применение функции к каждому элементу списка
  9. Функция enumerate() в Python
  10. Работа с модулем Calendar
  11. Извлечение новостей с newspaper3k
  12. Руководство по использованию Colorama
  13. Многопоточность в Python
  14. GitHub в Telegram: подписка на уведомления
  15. Работа с библиотекой xkcd
  16. Явный импорт в Python
  17. Метод getitem для доступа к элементам последовательности
  18. Работа с getopt
  19. Удаление элементов из списка в Python.
  20. Генерация случайных чисел Python
  21. Определение основы слова с showballstemmer
  22. Определение объема памяти объекта
  23. Методы и функции в Python
  24. Поиск повторов в списке
  25. Получение текущей директории
  26. Создание новой даты в Python
  27. Метод get() для словарей
  28. Утечки переменных цикла в Python 3.x
  29. UserString в Python
  30. Списковые включения в Python
  31. SciPy: широкий функционал для математических операций
  32. Тестирование времени с Freezegun
  33. Управление сессиями в Python
  34. Python defaultdict добавление ключа
  35. Функции высшего порядка в Python
  36. Замена текста с помощью sub
  37. Изменение логики работы с временем
  38. Объединение словарей в Python
  39. Создание таблиц в терминале с PrettyTable
  40. Основы Python
  41. Работа с NumPy массивами
  42. Удаление файлов в Python
  43. Перевод эмодзи и эмотиконов.
  44. Игра Виселица на Python
  45. Транспонирование 2D-массива с помощью zip
  46. Измерение потребления памяти при сортировке
  47. Применение функции к элементам списка

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