1、filter
filter(function, sequence):对sequence中的item依次执行function(item),将执行结果为True的item组成一个List/String/Tuple(取决于sequence的类型)返回:
代码:
|
1
2 |
info =
filter(lambda
x: x > 0, range(-5, 5))print
info |
结果:

2、map(function, sequence) :对sequence中的item依次执行function(item),见执行结果组成一个List返回
代码:
|
1
2 |
info =
map(lambda
x: x+5, range(0, 5))print
info |
结果:

3、reduce(function, sequence, starting_value):对sequence中的item顺序迭代调用function,如果有starting_value,还可以作为初始值
|
1
2
3
4
5 |
info =
reduce(lambda
x,y: x+y, range(0, 5))print
info #info = 0+1+2+3+4info =
reduce(lambda
x,y: x+y, range(0, 5), 10)print
info #info = 0+1+2+3+4+10 |
结果:

4、lambda [parameter_list]:expression它允许你快速定义单行的最小函数,类似与C语言中的宏,这些叫做lambda的函数,可以用在任何需要函数的地方,生成一个函数对象:
|
1
2 |
y =
lambda x: x*2print
y(3) |
结果为: 6
注意:这里是expression,而不是statement,所以不能出现赋值和return等语句,只能存在表达式,即一个等式右边的那一部分(右值)
Python 特殊函数(filter, map, reduce等),布布扣,bubuko.com
Python 特殊函数(filter, map, reduce等)
原文:http://www.cnblogs.com/wang-can/p/3580545.html