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)

 

posted @ 2020-12-23 23:28  foreast  阅读(81)  评论(0编辑  收藏  举报