itertools.islice()

Возвращает срез итератора по индексам без создания промежуточного списка.

Сигнатураitertools.islice(iterable, stop) / islice(iterable, start, stop, step=1)

Аналог обычного среза seq[start:stop:step], но работает с любым итерируемым объектом, включая бесконечные. Отрицательные индексы не поддерживаются. Незаменим для ограничения бесконечных итераторов вроде count().

import itertools

print(list(itertools.islice(range(10), 5)))  # [0, 1, 2, 3, 4]
print(list(itertools.islice(range(10), 2, 8, 2)))  # [2, 4, 6]
← Все записи: Модуль itertools в Python
Поддержать проект