lambda表达式
一. 语法
lambda 参数列表 : 表达式
二. 使用
fn2 = lambda : 100 print(type(fn2)) # <class 'function'> print(fn2) # <function <lambda> at 0x00000192073C7F70> print(fn2()) # 100 fn3 = lambda a, b: a+b print(fn3(1, 2)) # 3 fn3 = lambda a, b, c=100: a+b+c print(fn3(1, 2)) # 103 fn1 = lambda *args: args print(fn1(10, 20, 30)) # (10, 20, 30) fn1 = lambda **kwargs: kwargs print(fn1(name='python', age=20)) # {'name': 'python', 'age': 20}
说明:
1.参数可以为各种类型的参数
2.是函数的简单写法
三. 典型应用:
students = [ {'name': 'TOM', 'age': 20}, {'name': 'ROSE', 'age': 19}, {'name': 'Jack', 'age': 22} ] # 按name值升序排列 students.sort(key=lambda x: x['name']) print(students) # 按name值降序排列 students.sort(key=lambda x: x['name'], reverse=True) print(students) # 按age值升序排列 students.sort(key=lambda x: x['age']) print(students)