concurrent.futures.Executor.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),
)
args
. - person Matt Joiner   schedule 09.08.2011