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+4 info =
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 * 2 print
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