函数(二)
1、高阶函数
高阶函数是指python自带的函数,即系统内置函数,参考https://docs.python.org/2/library/functions.html
1 #map()函数中,第一个参数为自定义函数,第二个参数为一个可迭代对象 2 a= [1,2,3,4,5,6,7] 3 def f1(x): 4 return x+x 5 b=map(f1,a) 6 print(type(b)) 7 print(b) 8 9 #reduce函数中,必须接受两个参数, 10 #每次把可迭代对象的两个参数作为函数的实参传入到f函数中 11 #把结果作为一个实参,可迭代对象的下一个元素作为另一个实参传入f中 12 #依次执行得到最终结果 13 def f(x,y): 14 return x+y 15 print(reduce(f,[1,2,3,4,5,6],10)) 16 17 #filter函数,每次把可迭代对象的元素传入,如果返回为true, 18 #则保留元素,如果返回False则不保留元素 19 a=[1,3,4,5,6,7,8] 20 def is_odd(x): 21 return x%2==1 22 print(filter(is_odd,a)) 23 24 #sorted()对字典进行排序 25 aa=dict(a=11,c=55,d=32,b=15) 26 for i in aa: 27 print i 28 qq=sorted(aa) 29 print(qq) 30 #按value排序 31 for key,value in aa.iteritems(): 32 print(key,value) 33 34 test = sorted(aa.iteritems(),key=lambda d:d[1]) 35 print(test)
2、匿名函数
匿名函数,即lambda函数,可以用在任何需要函数的地方,省去了定义函数的操作
1 #匿名函数(没有名字的函数) 2 3 m=lambda x, y : x+y 4 #m等于xy相加 5 print(m(12,13))