首页 > 编程语言 > 详细

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

时间:2014-03-05 03:54:29      阅读:497      评论:0      收藏:0      [点我收藏+]

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

结果:

bubuko.com,布布扣

 

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

代码:

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

 结果:

bubuko.com,布布扣

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

  结果:

bubuko.com,布布扣

 

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!