Курс 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"
- Объединение списков с помощью zip
- Поиск наиболее частого элемента списке
- Фильтрация списка чисел
- Хеширование паролей с солью
- Конкатенация списков в Python
- Срез в Python
- Обратный список чисел
- Группы исключений в Python
- Оператор распаковки в Python
- Замеры производительности в Python
- Зарезервированные слова в Python
- Анализ кода — Python
- Python OrderedDict и fromkeys() — работа с словарями
- Простой калькулятор Python
- Замена символов в Python
- Обработка исключений с блоком else
- Метод join() для объединения строк
- Основы слова
- Сортировка с параметром key
- Транспонирование 2D-массива с помощью zip
- Ввод нескольких значений
- Функция product() из itertools
- Тестирование с unittest
- Поиск кода
- Применение функций в Python
- Расчет времени выполнения
- Метод enumerate() в Python
- Метод add для класса Vector
- Инициализация объекта
- Сглаживание списка
- Работа с исключениями в Python
- Работа со строками
- Работа с датами в Python
- Определение наиболее частого элемента с помощью collections.Counter
- Проверка ввода с помощью isdigit
- Удаление ключа из словаря
- Принцип одной функции
- Проверка версии Python
- Принципы SRP и OCP
- kwargs в Python
- Метод hash в Python
- Названия переменных
- Тестирование с responses
- Вычисление времени выполнения
- Список методов и атрибутов
- Преобразование данных в Python















