函数

 1 q=(lambda x: x+3)
 2 re = map(q,[1,3,5,6])
 3 print re
 4 
 5 re1=lambda x,y:x**2+y
 6 #等价于:def (x,y):
 7 #            return x**2+y
 8 
 9 print re1(6,9)
10 
11 def fun(a):
12     if a>40:
13         return True
14     else:
15         return False
16 
17 #filter:如果函数对象返回的是True,则该次的元素被储存于返回的表中
18 print filter(fun,[10,20,39,49,12,34,56])
19 
20 #判断1000以内能被3和7整除的数
21 l=range(1000)
22 def panduan(i):
23     if i%3==0 and i%7==0:
24         return True
25     else:
26         return False
27 l1=filter(panduan,l)
28 print l1
29 
30 
31 #求1+..+100的和
32 #reduce函数的第一个参数也是函数,但有一个要求,就是这个函数自身能接收两个参数。reduce可以累进地将函数作用于各个参数
33 #将返回的值作为一个参数,和第三个参数组成两个参数返回一个值,再继续和第四个值一起。
34 print reduce((lambda x,y:x+y),range(101))

 运行结果为:

[4, 6, 8, 9]
45
[49, 56]
[0, 21, 42, 63, 84, 105, 126, 147, 168, 189, 210, 231, 252, 273, 294, 315, 336, 357, 378, 399, 420, 441, 462, 483, 504, 525, 546, 567, 588, 609, 630, 651, 672, 693, 714, 735, 756, 777, 798, 819, 840, 861, 882, 903, 924, 945, 966, 987]
5050

 

posted @ 2015-04-17 10:30  听风林  阅读(107)  评论(0编辑  收藏  举报