map 函数
可与 map
来所做的一切也可以用做 comprehensions
:
list(map(abs, [-1,-2,-3])) # [1, 2, 3]
[abs(i) for i in [-1,-2,-3]] # [1, 2, 3]
如果你有多个迭代,你需要 zip
:
import operator
alist = [1,2,3]
list(map(operator.add, alist, alist)) # [2, 4, 6]
[i + j for i, j in zip(alist, alist)] # [2, 4, 6]
列表推导是有效的,并且在许多情况下可以比 map
更快,因此如果速度对你很重要,请测试两种方法的时间。