1、高阶函数 就是把函数当成参数传递的一种函数:
def add(x,y,f):
return f(x)+f(y)
print(add(-8,11,abs))
###map()函数,第一个参数为自定义函数,第二个参数为可迭代对象 lt = [1,2,3,4,5] def f2(x): return x*x ml = map(f2,lt) print(type(ml)) print(list(ml))
###reduce()函数 #传入的函数必须接受两个参数, #把可迭代对象的两个参数作为函数的实参,传入到f函数中, #把每次f运算的结果作为第一个实参,可迭代对象额下个元素作为另外一个实参,传入函数f中 #以此类推,最终得到结果, def f(x,y): return x + y print(reduce(f,[1,2,3,4,5], 10 ))
#filter函数 #函数会每次把可迭代对象的元素传入进去,如果返回为true,则保留该元素,如果返回为false,则不保留该函数 a = [1,2,3,4,5] def is_odd(x): return x%2 == 1 print(list(filter(is_odd,a)))
#sorted() 排序 #对字典就行排序 #sorted() mm = dict(a=2,c=1,b=3,d=4) print(mm) for i in mm: print(i) for j in mm.items(): print(j) #print(mm) test = sorted(mm.items(),key=lambda d: d[1]) # test = sorted(mm.items(),key = reverse=False) print(test)
2、匿名函数
#正常函数表示
def sum(x,y):
return x+y
#匿名函数表示
m = lambda x, y: x+y
print(m(4,5))