title: Pass multiple parameters to concurrent.futures.Executor.map?
body: <p>The <a href="http://docs.python.org/py3k/library/concurrent.futures.html#concurrent.futures.Executor.map" rel="noreferrer"><code>concurrent.futures.Executor.map</code></a> takes a variable number of iterables from which the function given is called. <strong>How should I call it if I have a generator that produces tuples that are normally unpacked in place?</strong></p>
  
  <p>The following doesn't work because each of the generated tuples is given as a different argument to map:</p>
  
  <pre><code>args = ((a, b) for (a, b) in c)
  for result in executor.map(f, *args):
      pass
  </code></pre>
  
  <p>Without the generator, the desired arguments to map might look like this:</p>
  
  <pre><code>executor.map(
      f,
      (i[0] for i in args),
      (i[1] for i in args),
      ...,
      (i[N] for i in args),
  )
  </code></pre>