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
更快,因此如果速度對你很重要,請測試兩種方法的時間。