Курс Python → Создание генераторов в Python
Генераторы в Python представляют собой специальные объекты, которые позволяют эффективно создавать итерируемые последовательности значений без необходимости хранить их все в памяти одновременно. Вместо того, чтобы создавать список значений наперед, генераторы генерируют значения по мере необходимости.
Для создания генератора в Python используется синтаксис генераторного выражения, который выглядит как выражение, заключенное в круглые скобки, например: (i for i in range(10000)). Это позволяет создать генератор, который будет возвращать значения от 0 до 9999 по мере обращения к нему.
Использование генераторов вместо самописных итераторов позволяет экономить память, так как значения не хранятся в памяти целиком, а генерируются по мере необходимости. Это особенно полезно при работе с большими объемами данных, когда память становится критическим ресурсом.
# Пример использования генератора
gen = (i for i in range(10000))
for val in gen:
print(val)
В данном примере создается генератор, который возвращает значения от 0 до 9999. Затем значения из генератора выводятся на экран с помощью цикла for. При этом значения не хранятся в памяти целиком, что позволяет эффективно использовать ресурсы системы.
Другие уроки курса "Python"
- Форматирование данных с помощью pprint
- Оформление кода на Python
- Ограничение ресурсов в Python
- Аргументы *args и **kwargs
- Удаление элементов по срезу
- Работа с файлами в Python
- Форматирование строк с помощью f-строк
- Обход словаря в Python
- Инициализация структур данных
- Переменные в Python: сокращение гласных
- Обработка ошибки IndexError
- Именованные аргументы в Python
- Потоковый ввод в Python
- Очистка списка от False, None, 0, «»
- Цикл for в Python
- Списки в Python: синтаксис представления
- Переопределение метода delitem в Python
- Подсчет элементов с помощью Counter из collections
- Использование функции product
- Оператор распаковки в Python
- Контроль точности вывода чисел
- Реализация операции -= для пользовательского класса
- Блок else в циклах Python
- Сохранение и загрузка модели в PyTorch
- Печать месячного календаря
- Генераторы в Python
- Lambda Functions in Python
- Метод count() для списка
- Проверка дублей в списке.
- Преобразование строк в числа в Python
- Избегайте двойного подчеркивания
- Генераторы списков в Python
- Срез в Python
- Списковые включения в Python
- Регистрация на TenChat
- Работа с NumPy
- Изменение объектов в Python
- Библиотека Rich: форматирование текста
- Делегирование в Python
- Извлечение аудио из видео
- Python groupby() из itertools: работа с повторяющимися элементами
- Хеширование паролей с солью
- Подписка на @SelectelNews
- Очистка вывода в Python
- Подсчет количества элементов в списке
- Хешируемые ключи в Python
- Получение текущей директории















