itertoolschain.tee()の使い方

itertools.tee(p,n)は,pred は,独立な n 個のイタレーターを出力します.以下の例では,a も b もイタレーターです.イタレーター b の方が先に終端に達します.

プログラム例

import itertools

a, b = itertools.tee(range(10), 2)
for x in a:
    print('x:', x)
    a=0
    for y in b:
        print('\ty:', y)
        a+=1
        if 2<a: break

実行結果

x: 0
    y: 0
    y: 1
    y: 2
x: 1
    y: 3
    y: 4
    y: 5
x: 2
    y: 6
    y: 7
    y: 8
x: 3
    y: 9
x: 4
x: 5
x: 6
x: 7
x: 8
x: 9