Python 特殊函数(filter, map, reduce等)

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

结果:

Python 特殊函数(filter, map, reduce等)

 

2、map(function, sequence) :对sequence中的item依次执行function(item),见执行结果组成一个List返回

代码:

1
2
info = map(lambda x: x+5, range(0, 5))
print info

 结果:

Python 特殊函数(filter, map, reduce等)

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

  结果:

Python 特殊函数(filter, map, reduce等)

 

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等)

上一篇:剖析C语言中a=a+++++a的无聊问题


下一篇:设计模式C++学习笔记之五(Factory Method工厂方法模式)