函数
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