title: Unpacking the arguments before feeding it to a `map` function
body: <pre class="lang-py prettyprint-override"><code>&gt;&gt;&gt; d = {'a': 1, 'b': 2}
  &gt;&gt;&gt; list(map(lambda x: x[0] * x[1], d.items()))
  ['a', 'bb']
  </code></pre>
  <p>I'd rather be able to name my variables in my function, but
  this</p>
  <pre class="lang-py prettyprint-override"><code>&gt;&gt;&gt; list(map(lambda k, v: k * v, d.items()))
  TypeError: &lt;lambda&gt;() missing 1 required positional argument: 'v'
  </code></pre>
  <p>obviously won't work since <code>map</code> feeds single inputs to the function.</p>
  <p>What I've done for myself is write a decorator (here simplified);</p>
  <pre class="lang-py prettyprint-override"><code>def asterisk(func):
      def _func(single_input):
          return func(*single_input)
      return _func
  </code></pre>
  <p>that then allows me to do this</p>
  <pre class="lang-py prettyprint-override"><code>&gt;&gt;&gt; list(map(asterisk(lambda k, v: k * v), d.items()))
  ['a', 'bb']
  </code></pre>
  <p>But I can't help but think I'm missing a simple trick or builtin function here.</p>