python 之 reduce,filter,map
在python3 中,返回结果为列表迭代器
filter
filter()
函数包括两个参数,分别是function和list。该函数根据function参数返回的结果是否为真来过滤list参数中的项,最后返回一个新列表,如下例所示:
>>>a=[1,2,3,4,5,6,7]
>>>b=filter(lambda x:x>5, a)
>>>print b
>>>[6,7]
如果filter参数值为None,就使用identity()函数,list参数中所有为假的元素都将被删除。如下所示:
>>>a=[0,1,2,3,4,5,6,7]
>>>b=filter(None, a)
>>>print b
>>>[1,2,3,4,5,6,7]
map
map()
的两个参数一个是函数名,另一个是列表或元组。
>>>a=[1,2,3,4,5]
>>>map(lambda x:x+1, a)
>>>[2,3,4,5,6]
reduce
reduce()
函数可以按照给定的方法把输入参数中上序列缩减为单个的值,具体的做法如下:首先从序列中去除头两个元素并把它传递到那个二元函数中去,求出一个值,再把这个加到序列中循环求下一个值,直到最后一个值
>>>reduce(lambda x,y:x**y, [1,2,3], 10)
>>>1000000 #((10**1)**2)**3