Python Glossary English

все 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Сообщить о неточности