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等语句,只能存在表达式,即一个等式右边的那一部分(右值)