我正在回答这个问题并面临以下问题:
>>> from operator import add
>>> map(add,[1,2,3],[1,2])
Traceback (most recent call last):
File "<pyshell#47>", line 1, in <module>
map(add,[1,2,3],[1,2])
TypeError: unsupported operand type(s) for +: 'int' and 'NoneType'
我想map
在参数中提供的最小迭代器被消耗后立即停止。
我找到了解决方案:
>>> from itertools import imap
>>> list(imap(add,[1,2,3],[1,2]))
[2, 4]
但是,这是为什么呢?他们的行为不应该是一致的吗?
这是我解决问题的最佳方法吗?