2021-08-26 Python之匿名函数
#匿名函数:简化函数定义
#格式:lambda 参数1,参数2 : 运算
1 def func(): 2 print('aaa') 3 4 def add(a,b): 5 s=a+b 6 return s
1 s=lambda a,b:a+b 2 print(s) 3 result=s(2,4) 4 print(result)
#匿名函数作为参数:
1 def func(x,y,func): 2 print(x,y) 3 print(func) 4 s=func(x,y) 5 print(s) 6 7 func(1,2,lambda a,b:a+b)
#匿名函数与内置函数结合使用:
#max,sorted,zip……
1 list1=[2,3,5,6,7,8,9] 2 m=max(list1) 3 print('列表的最大值:',m) 4 list2=[{'a':10,'b':20},{'a':13,'b':4},{'a':67,'b':47},{'a':56,'b':35}] 5 m=max(list2,key=lambda x:x['a']) 6 print('列表的最大值:',m)
#map 函数
1 list1=[2,3,4,5,6,7,8,9] 2 result=map(lambda x:x+2,list1) #对列表中的所有元素进行+2 3 print(list(result)) 4 5 result=map(lambda x:x if x%2==0 else x+1,list1) #列表中所有奇数+1 6 print(list(result))
#reduce 函数
#对列表中元素进行加减乘除运算的函数
#需要导入:from functools import reduce
1 from functools import reduce 2 tuple1=(2,3,4,5,6) 3 result=reduce(lambda x,y:x+y,tuple1) 4 print(result)
1 from functools import reduce 2 tuple2=(1,) 3 result=reduce(lambda x,y:x-y,tuple2,9) 4 print(result)
#filter 函数:过滤器
1 list1=[1,2,3,4,5,67,78,35] 2 result=filter(lambda x:x>10,list1) 3 print(list(result))
1 students=[{'name':'lily','age':20}, 2 {'name':'hacker','age':4}, 3 {'name':'jarh','age':47}, 4 {'name':'maw','age':35} 5 ] 6 students=sorted(students,key=lambda x:x['age'],reverse=True) #倒叙 排序 7 print(students)
#匿名函数与内置函数结合使用,总结:
max()
min()
sorted()
map()
reduce()
filter()
本文来自博客园,作者:{admin-xiaoli},转载请注明原文链接:{https://www.cnblogs.com/crackerroot}