Le concurrent.futures.Executor.map
prend un nombre variable d'itérables à partir desquels la fonction donnée est appelée. Comment dois-je l'appeler si j'ai un générateur qui produit des tuples qui sont normalement déballés sur place?
Le code suivant ne fonctionne pas car chaque tuple généré est donné comme un argument différent à map:
args = ((a, b) for (a, b) in c)
for result in executor.map(f, *args):
pass
Sans le générateur, les arguments souhaités pour map pourraient ressembler à ceci:
executor.map(
f,
(i[0] for i in args),
(i[1] for i in args),
...,
(i[N] for i in args),
)