|
16.4. 关联已访问列表
你对使用 列表遍历 将列表关联起来的做法已经熟知。 另一种方法可以完成同样的工作:使用内建 map 函数。 它的工作机理和 filter 函数类似。
例 16.10. 介绍 map
>>> def double(n):
... return n*2
...
>>> li = [1, 2, 3, 5, 9, 10, 256, -3]
>>> map(double, li)
[2, 4, 6, 10, 18, 20, 512, -6]
>>> [double(n) for n in li]
[2, 4, 6, 10, 18, 20, 512, -6]
>>> newlist = []
>>> for n in li:
... newlist.append(double(n))
...
>>> newlist
[2, 4, 6, 10, 18, 20, 512, -6] map 接受一个函数和一个列表作为参数,[8] 并以列表中每个元素顺序地调用函数返回一个新的列表。 在这个例子中,函数仅仅是将每个元素乘以2。
使用列表遍历的方法你可以做到相同的事情。 列表遍历是在 Python 2.0版时被引入的,map 便从此永远盘桓。
你如果坚持以 Visual Basic 程序员而自居,通过 for 循环的方法完成相同的任务也完全可以。 |
|