はconcurrent.futures.Executor.map
、指定された関数が呼び出される反復可能オブジェクトの可変数を取ります。通常はその場でアンパックされるタプルを生成するジェネレーターがある場合、どのように呼び出す必要がありますか?
生成されたタプルのそれぞれが map への異なる引数として与えられるため、以下は機能しません:
args = ((a, b) for (a, b) in c)
for result in executor.map(f, *args):
pass
ジェネレーターがない場合、マップする必要のある引数は次のようになります。
executor.map(
f,
(i[0] for i in args),
(i[1] for i in args),
...,
(i[N] for i in args),
)