您的位置: 网站首页> python基础> 当前文章
python的lambda表达式(匿名函数)用法
老董-我爱我家房产SEO2019-09-15161围观,108赞
用lambda关键字能创建匿名函数。这种函数省略了用def声明函数的标准步骤。
lambda函数的语法只包含一个语句,如下:
lambda [arg1 [,arg2,.....argn]]:expression
# -*- coding: utf-8 -*- sum = lambda arg1, arg2: arg1 + arg2 print(sum(1,2)) print(sum(10,20))
D:python3installpython.exe D:/pyscript/py3script/python66/python66.py 3 30 Process finished with exit code 0
1、Lambda函数能接收任何数量的参数但只能返回一个表达式的值。
2、匿名函数不能直接调用print,因为lambda需要一个表达式。
3、Python要求 lambda 表达式只能是单行表达式。
应用:函数作为参数传递
1、作为自定义函数的参数
# -*- coding: utf-8 -*- def fun(m, n, my_fun): return my_fun(m,n) res = fun(1,2,lambda x,y:x+y) print(res) res = fun(10,20,lambda x,y:x+y) print(res)
D:python3installpython.exe D:/pyscript/py3script/python66/python66.py 3 30 Process finished with exit code 0
2、作为内置函数的参数(参考 sort函数和sorted函数)
# -*- coding: utf-8 -*- stu = [ {"name":"a1", "age":18}, {"name":"b1", "age":19}, {"name":"c1", "age":17} ] # 按照name排序 stu.sort(key = lambda x:x['name']) print(stu) # 按照age排序 stu.sort(key = lambda x:x['age']) print(stu)
D:python3installpython.exe D:/pyscript/py3script/python66/python66.py [{'name': 'a1', 'age': 18}, {'name': 'b1', 'age': 19}, {'name': 'c1', 'age': 17}] [{'name': 'c1', 'age': 17}, {'name': 'a1', 'age': 18}, {'name': 'b1', 'age': 19}] Process finished with exit code 0
很赞哦!
python编程网提示:转载请注明来源www.python66.com。
有宝贵意见可添加站长微信(底部),获取技术资料请到公众号(底部)。同行交流请加群
相关文章
文章评论
-
python的lambda表达式(匿名函数)用法文章写得不错,值得赞赏