itertoolschain.starmap()の使い方

itertools.starmap(fun, p)は,シーケンス:p を 関数:fun に適用し,イタレーターを出力します.理由は分かりませんが,関数は2変数である必要が有ります.1変数関数だとエラーになります.

プログラム例

import itertools

def f(x, y, z):
    return x+y+z

seq = [(x, 2*x, 3*x) for x in range(0, 10)]

for x in itertools.starmap(f, seq):
    print('x:', x)

実行結果

x: 0
x: 6
x: 12
x: 18
x: 24
x: 30
x: 36
x: 42
x: 48
x: 54