Курс Python → Генераторные выражения и islice.
Генераторные выражения — это компактный способ создания итерируемых объектов в Python. Они позволяют нам создавать последовательности значений без необходимости создавать список в памяти. Генераторные выражения очень удобны, когда нам нужно обработать большой объем данных или когда мы работаем с бесконечными последовательностями.
Для использования генераторных выражений нам необходимо знать синтаксис. Мы используем круглые скобки вместо квадратных, как при создании списка. Например, вместо [x for x in range(10)] мы напишем (x for x in range(10)). Это позволяет нам создать генераторное выражение, которое будет возвращать значения по мере необходимости, а не сразу создавать весь список.
Для получения среза значений из генераторного выражения мы можем использовать функцию islice из модуля itertools. Эта функция возвращает итератор по срезу значений из итерируемого объекта. Например, если у нас есть генераторное выражение (x for x in range(10)), мы можем использовать islice, чтобы получить только первые 5 значений.
from itertools import islice
gen_expr = (x for x in range(10))
sliced_values = islice(gen_expr, 5)
for val in sliced_values:
print(val)
В данном примере мы создаем генераторное выражение, которое генерирует значения от 0 до 9. Затем мы используем функцию islice, чтобы получить только первые 5 значений из этого генераторного выражения. Наконец, мы перебираем полученные значения и выводим их на экран.
Другие уроки курса "Python"
- Monkey Patching в Python
- Идентификатор объекта в Python
- Метод get() для словарей
- Изменение списка срезом
- Оператор * в Python
- Документирование функций в Python
- Поиск элементов BeautifulSoup
- Функция zip() для объединения списков
- Создание лямбда-функций
- Форматирование заголовков в Python
- Реализация операции -= для пользовательского класса
- Подсчет элементов с помощью Counter из collections
- Оператор деления для класса Rational
- Установка Python3.7 и PIP
- Циклы for в Python
- Анализ кода — Python
- Работа с YAML в Python
- Математические функции в Python
- Работа с collections.Counter
- Хешируемые ключи в Python
- Проверка на палиндром
- Создание новых списков через list comprehensions
- Сортировка слиянием
- Управление импортом в Python
- Сохранение Unicode в JSON
- Отрицательные индексы списков в Python
- Создание новых списков в Python
- Метод __complex__ в Python
- Применение команды break
- Работа со слайсами
- Оператор обр. импликации
- Python: изменяемые и неизменяемые коллекции
- Хранение данных
- Функция reversed() в Python
- Поиск шаблона в начале строки
- Генерация строк с .join()
- Работа с модулем Calendar
- Управление пакетами с pip
- Метод __irshift__ для побитового сдвига вправо
- Оператор морж в Python 3.8
- Работа со случайными элементами
- Поиск простых чисел
- Big O оптимизация
- Функции map, filter и reduce
- Проверка версии Python
- ROT13 Шифр Цезаря в Python















