Курс 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. Группы исключений в Python
  3. Поиск наиболее частого элемента
  4. Освобождение памяти в Python
  5. Преобразование регистра символов
  6. Метод join для наборов
  7. Объединение списков в Python.
  8. Функция map() в Python
  9. Работа с комплексными числами
  10. Переопределение метода len
  11. Многострочные комментарии в Python
  12. Оператор «not» в Python
  13. Логические значения в Python
  14. Удаление элементов из списка в Python
  15. Тестирование функции сложения
  16. Декораторы в Python
  17. Курсы Яндекс Практикум
  18. Определение наиболее частого элемента с помощью collections.Counter
  19. Именованные срезы в Python
  20. Обновление данных через PUT запрос
  21. Цикл for в Python
  22. UserList в Python: Описание и примеры использования
  23. Преобразование списка в словарь через генератор
  24. Работа со случайными элементами
  25. Поиск индексов в списке
  26. Визуализация пропусков данных
  27. Функции all() и any() в Python
  28. Разделение строки с помощью split()
  29. Удаление специальных символов с помощью re.sub
  30. Объединение словарей в Python
  31. OrderedDict — упорядоченный словарь
  32. Метод join() для объединения строк
  33. Генераторные выражения и islice.
  34. Функциональное программирование в Python
  35. Расчет времени выполнения
  36. Создание тестовых данных с Faker
  37. Удаление элементов из списка
  38. Объединение итераторов
  39. Создание объекта времени
  40. Bootle — простой веб-фреймворк
  41. Логирование в Python
  42. Группы исключений в Python
  43. Проверка файла .py на синтаксис.
  44. SciPy: широкий функционал для математических операций
  45. Измерение времени выполнения кода
  46. Кортеж в Python: создание, доступ, изменение
  47. Склеивание строк без циклов

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