Курс Python → Выражения-генераторы в Python

Выражения-генераторы в Python представляют собой синтаксис, похожий на синтаксис представления списка (list comprehension), который позволяет создать объект-генератор. Генераторы представляют собой специальный тип итератора, который генерирует значения по требованию, что позволяет экономить память и увеличивает производительность.

Для создания выражения-генератора используется круглые скобки вместо квадратных скобок, как при создании списка. Например, чтобы создать генератор, который фильтрует пустые строки из файла и удаляет символ перехода на новую строку в конце (\n), можно использовать следующий синтаксис:

gen = (line.strip() for line in open('file.txt') if line.strip() != '')

В данном примере создается генератор, который читает строки из файла ‘file.txt’, удаляет символы переноса строки и фильтрует пустые строки. При этом значения генерируются по требованию и не хранятся все сразу в памяти, что уменьшает потребление ресурсов.

Использование выражений-генераторов позволяет компактно и эффективно обрабатывать данные, особенно при работе с большими объемами информации. Они являются важным инструментом в Python для работы с итерируемыми объектами и обеспечивают удобство и эффективность при написании кода.

Таким образом, выражения-генераторы представляют собой мощный инструмент в Python, который позволяет создавать объекты-генераторы для обработки данных по требованию. Их использование повышает производительность и экономит память, что делает их незаменимыми при работе с большими объемами данных.

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Оператор морж в Python 3.8
  2. Оператор walrus в Python
  3. Работа с collections в Python
  4. Сравнение строк в Python
  5. Визуализация пропусков данных
  6. Объединение множеств в Python
  7. Поиск шаблона в начале строки
  8. Логирование с Loguru
  9. Хранение переменных в словаре.
  10. Порядок и длина множеств в Python
  11. Принципы программирования
  12. Генераторы в Python
  13. Аргументы *args и **kwargs
  14. Метод join() для объединения строк
  15. Установка пакетов с помощью pip
  16. Форматирование данных с помощью pprint
  17. Перевод текста с Python Translator
  18. Обработка исключений в Python
  19. Работа с itertools
  20. Принципы SRP и OCP
  21. Получение частей дроби
  22. Обновление ключей в Python
  23. Работа с файлами в Python
  24. Удаление элементов из списка в Python.
  25. Добавление элемента к кортежу
  26. Работа с collections.Counter
  27. Удаление дубликатов из списка
  28. Переопределение оператора % для объектов
  29. Создание словарей и множеств в Python.
  30. Проверка файла .py на синтаксис.
  31. Переопределение метода divmod
  32. Атрибуты массивов в Numpy
  33. Вычисление времени выполнения
  34. Обрезка изображения с Pillow
  35. Оператор «not» в Python
  36. Проекты на Python
  37. Вызов внешних программ в Python с помощью sh
  38. Создание класса очереди
  39. Метод enumerate() в Python
  40. Проверка памяти объекта
  41. Блок try…finally в Python
  42. Распаковка с оператором *
  43. Счетчик ссылок в Python
  44. Сглаживание списка
  45. Метод __call__ в Python
  46. Копирование списков в Python

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