все Python 3itertoolsфункция
itertools.tee
itertools
Создаёт n независимых итераторов из одного (исходный дальше использовать нельзя).
Синтаксис
itertools.tee(iterable, n=2)
После tee исходный итератор использовать нельзя — работай только с возвращёнными ветками. Если одну ветку прочитать далеко вперёд другой, tee буферизует все промежуточные элементы в памяти, так что при большом разрыве проще сделать list(); ветки к тому же не потокобезопасны.
Примеры
import itertools
a, b = itertools.tee([1, 2, 3])
print(list(a), list(b)) # → [1, 2, 3] [1, 2, 3]
print(list(a)) # → []
c, d, e = itertools.tee([1, 2, 3], 3)
print(next(c), next(c), next(d), list(e)) # → 1 2 1 [1, 2, 3]
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности