我只想添加以下内容:
With multiple iterables, the iterator stops when the shortest iterable is exhausted
[ https://docs.python.org/3.4/library/functions.html#map ]
Python 2.7.6(默认,2014 年 3 月 22 日,22:59:56)
>>> list(map(lambda a, b: [a, b], [1, 2, 3], ['a', 'b']))
[[1, 'a'], [2, 'b'], [3, None]]
Python 3.4.0(默认,2014 年 4 月 11 日,13:05:11)
>>> list(map(lambda a, b: [a, b], [1, 2, 3], ['a', 'b']))
[[1, 'a'], [2, 'b']]
这种差异使得简单包装的答案list(...)
并不完全正确
同样可以通过以下方式实现:
>>> import itertools
>>> [[a, b] for a, b in itertools.zip_longest([1, 2, 3], ['a', 'b'])]
[[1, 'a'], [2, 'b'], [3, None]]