map()一共接收2个参数,一个是函数,一个是序列(iterable),map把函数作用在序列中的每个元素上,如
>> def f(x):
… return x*x
…
>>> map(f,[1,2,3,4,5,6,7,8,9])
[1, 4, 9, 16, 25, 36, 49, 64, 81]
也可以进行字符串转换,如
>> r
[1, 4, 9, 16, 25, 36, 49, 64, 81]
>>> map(str,r)
[‘1’, ‘4’, ‘9’, ’16’, ’25’, ’36’, ’49’, ’64’, ’81’]
filter()常用于过滤序列,也接收2个参数,一个是函数,一个是序列(iterable),把函数作用于序列中的每个元素,根据返回值是true或者flase,确定元素的去留。
如在一个数字序列中,只保留基数。
>> a = range(1,10)
>>> a
[1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> def f(x):
… return x % 2 ==1
…
>>> b = filter(f,a)
>>> b
[1, 3, 5, 7, 9]
>>>