Курс Python → Генераторы в Python
Генераторные выражения — это компактный способ создания итерируемых объектов в Python. Вместо того, чтобы создавать список целиком в памяти, генераторное выражение позволяет поочередно генерировать значения по мере необходимости. Это особенно полезно при работе с большими объемами данных, когда не хочется загружать все значения сразу.
Для использования генераторных выражений в Python используется синтаксис, похожий на список, но с круглыми скобками вместо квадратных. Например, выражение (x**2 for x in range(5)) создаст генератор, который будет возвращать квадраты чисел от 0 до 4 по запросу.
Для получения среза значений из генераторного выражения можно использовать функцию islice из модуля itertools. Она позволяет создать итератор, который будет возвращать только определенный диапазон значений из исходного итератора. Например, islice((x**2 for x in range(10)), 2, 6) вернет итератор, который будет возвращать квадраты чисел от 2 до 5.
from itertools import islice
gen_expr = (x**2 for x in range(10))
sliced_gen = islice(gen_expr, 2, 6)
for val in sliced_gen:
print(val)
В данном примере мы создаем генераторное выражение для квадратов чисел от 0 до 9, затем используем функцию islice для получения среза значений от 2 до 5. После этого мы проходимся по полученному итератору и выводим значения на экран.
Другие уроки курса "Python"
- Хешируемые ключи в Python
- Преобразование чисел в восьмеричную строку
- Определение функций с необязательными аргументами
- Создание словаря в Python
- Эффективная конкатенация строк с использованием join()
- Удаление символа из строки
- Оператор * в Python
- Обратный список чисел
- Основы работы со списками
- Определение имен функций
- Работа с процессами в Python
- Форматирование данных с помощью pprint
- Использование super() в Python
- Хранение данных
- Форматирование данных с помощью pprint
- Изменение списка срезом
- Печать списка с помощью метода join
- Лямбда-функции для min/max
- Обход элементов в Python
- Исправление ошибки NameError
- Декораторы с аргументами
- Изменение IP-адреса в Python
- Создание лямбда-функций
- Навыки Python: строки, типы данных
- Лимиты на ресурсы Python
- Использование метода lower()
- Создание файла с проверкой ошибки
- Обработка исключений
- Логические операторы в Python
- Идентификатор объекта в Python
- Поиск элементов BeautifulSoup
- Логирование с Logzero
- Создание объекта timedelta
- Преобразование числа в восьмеричную строку
- Работа с YAML в Python
- Работа с CSV файлами в Python
- Генераторы в Python
- Работа с PosixPath() в Python
- Переопределение метода __floordiv__
- Выражения-генераторы в Python
- Комментарии в Python
- Удаление элементов из списка в Python
- Функция findall() для поиска вхождений строки
- Поиск всех индексов подстроки
- Обновление шаблона base.html















