擅长:python、mysql、java
<p>我只想补充一下:</p>
<p><code>With multiple iterables, the iterator stops when the shortest iterable is exhausted</code>[<a href="https://docs.python.org/3.4/library/functions.html#map" rel="nofollow">https://docs.python.org/3.4/library/functions.html#map</a>]</p>
<p>Python 2.7.6(默认值,2014年3月22日,22:59:56)</p>
<pre><code>>>> list(map(lambda a, b: [a, b], [1, 2, 3], ['a', 'b']))
[[1, 'a'], [2, 'b'], [3, None]]
</code></pre>
<p>Python 3.4.0(默认值,2014年4月11日,13:05:11)</p>
<pre><code>>>> list(map(lambda a, b: [a, b], [1, 2, 3], ['a', 'b']))
[[1, 'a'], [2, 'b']]
</code></pre>
<p>这种差异使得用<code>list(...)</code>简单包装的答案不完全正确</p>
<p>同样可以通过以下方式实现:</p>
<pre><code>>>> import itertools
>>> [[a, b] for a, b in itertools.zip_longest([1, 2, 3], ['a', 'b'])]
[[1, 'a'], [2, 'b'], [3, None]]
</code></pre>