语法:
lambda 参数列列表 : 表达式
lambda表达式的参数可有可无,函数的参数在lambda表达式中完全适用。 lambda函数能接收任何数量量的参数但只能返回一个表达式的值
# lambda 参数列表: 表达式
fn2 = lambda: 100
print(fn2) # lambda内存地址
# 100返回值 调用函数
print(fn2())
结果:

lambda的参数形式
# 1. 无参数
fn1 = lambda: 100
print(fn1())
# 2. 一个参数
fn2 = lambda a: a
print(fn2('hello world'))
# 3. 默认参数/缺省参数
fn3 = lambda a, b, c=100: a + b + c
print(fn3(10, 20))
print(fn3(10, 20, 200))
# 4. 可变参数:*args
fn4 = lambda *args: args
print(fn4(10, 20))
print(fn4(10, 20, 30, 40))
print(fn4(10))
# 5. 可变参数:**kwargs
fn5 = lambda **kwargs: kwargs
print(fn5(name='Python'))
print(fn5(name='Python', age=30))

带判断的lambda
# lambda 两个数字比大小,谁大返回谁
fn1 = lambda a, b: a if a > b else b
print(fn1(1000, 500))
列表数据按字典key的值排序
students = [
{'name': 'TOM', 'age': 20},
{'name': 'ROSE', 'age': 19},
{'name': 'Jack', 'age': 22}
]
# sort(key=lambda..., reverse=bool数据)
# 1. name key对应的值进行升序排序
students.sort(key=lambda x: x['name'])
print(students)
# 2. name key对应的值进行降序排序
students.sort(key=lambda x: x['name'], reverse=True)
print(students)
# 3. age key对应的值进行升序排序
students.sort(key=lambda x: x['age'])
print(students)

本文深入探讨了Python中的Lambda函数,从基本语法到高级应用,包括无参数、单参数、多参数、可变参数、关键字参数的Lambda函数使用,以及如何利用Lambda进行数据排序。通过实例展示了Lambda函数在实际编程中的灵活性和实用性。
938

被折叠的 条评论
为什么被折叠?



