python学习笔记-lambda
1. lambda表达式
定义: 如果一个函数只有一个返回值 并且只有一句代码 可以使用lambda简化
1.lambda语法
Lambda 参数列表 :表达式
注意:
lambda参数可有可无 函数的参数在lambda表达式中完全使用
Lambda 表达式能接受任何数量的参数但是只能返回一个表达式的值
fn2 = lambda:100
print(fn2)
<function <lambda> at 0x0000019752452378>
#返回a + b
fn3 = lambda a,b:a + b
print(fn3(1,2))
2.lambda参数形式
没有参数:
Fn1 = lambda:100
Print(fn1())
一个参数:
fn1 = lambda a:a
Print(fn1(111))
默认参数:
Fn1 = lambda a,b,c = 100 :a + b +c
Print(fn1(10,20))
*3.可变参数 args
Fn1 = lambda *args :args
Print(fn1(1,2,3))
**4. 可变参数 kwargs
fn6 = lambda **kwargs:kwargs
print(fn6(name = 'python',age = 20))
2.lambda应用
1. 比较大小
fn7 = lambda a,b:a if a > b else b
2. 列表数据按照字典的key值进行排序
students = [{
'name':'tom','age':20},{
'name':'jerry','age':21},{
'name':'daisy','age':22}]
students.sort(key = lambda i:i['name'])