Курс 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. Объединение списков с помощью zip
  2. Поиск наиболее частого элемента списке
  3. Фильтрация списка чисел
  4. Хеширование паролей с солью
  5. Конкатенация списков в Python
  6. Срез в Python
  7. Обратный список чисел
  8. Группы исключений в Python
  9. Оператор распаковки в Python
  10. Замеры производительности в Python
  11. Зарезервированные слова в Python
  12. Анализ кода — Python
  13. Python OrderedDict и fromkeys() — работа с словарями
  14. Простой калькулятор Python
  15. Замена символов в Python
  16. Обработка исключений с блоком else
  17. Метод join() для объединения строк
  18. Основы слова
  19. Сортировка с параметром key
  20. Транспонирование 2D-массива с помощью zip
  21. Ввод нескольких значений
  22. Функция product() из itertools
  23. Тестирование с unittest
  24. Поиск кода
  25. Применение функций в Python
  26. Расчет времени выполнения
  27. Метод enumerate() в Python
  28. Метод add для класса Vector
  29. Инициализация объекта
  30. Сглаживание списка
  31. Работа с исключениями в Python
  32. Работа со строками
  33. Работа с датами в Python
  34. Определение наиболее частого элемента с помощью collections.Counter
  35. Проверка ввода с помощью isdigit
  36. Удаление ключа из словаря
  37. Принцип одной функции
  38. Проверка версии Python
  39. Принципы SRP и OCP
  40. kwargs в Python
  41. Метод hash в Python
  42. Названия переменных
  43. Тестирование с responses
  44. Вычисление времени выполнения
  45. Список методов и атрибутов
  46. Преобразование данных в Python

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