1.lambda表达式
# 一个函数只有一行代码
def func1():
return 100
print(func1())
# 使用lambda 将上面的代码 转化为一行代码
func2 = lambda : 200
print(func2())
2.lambda表达式
# 普通方法实现
def func1(a, b):
return a + b
print(func1(2, 3))
# : 前面传递的是参数 后面是返回值
func2 = lambda a, b: a + b
print(func2(3, 5))
3.lambda的参数形式
# 无参数
print(lambda: 200) # 这是一个函数
print((lambda: 200)()) # 这是函数的调用
# 一个参数
print((lambda a: a)("臭傻逼"))
# 默认值参数 没有传递的参数是直接使用默认值
print((lambda a, b, c = 100: a + b + c)(1, 6))
# 可变参数
# 不知道有多少参数的可以用 *args * 号必不可少
# 传递的所有参数都使用args接受
print((lambda *args: args)(100, 200, 900))
# 可变参数传递的是键值对 ** 必不可少
print((lambda **kwargs: kwargs)(name = "python", age="27"))
4.lambda的应用
# 带判断的返回值
# 使用普通函数返回较大值
# def func1(a, b):
# # 比较大小
# if a > b:
# return
# else:
# return b
#
# result = print(func1(5, 6))
# print(result)
# 一行代码返回 较大值
def func1(a, b):
return a if a >= b else b
print(func1(5, 6))
# 带有if判断的lambda表达式
func2 = lambda a, b: a if a >= b else b
print(func2(66, 99))
5.lambda应用排序
students = [
{"name": "孙涛", "age": 88},
{"name": "张恩", "age": 8},
{"name": "饶鹏鹏", "age": 5}
]
# def func1(x):
# return x["age"]
#
#
# func2 = lambda x: x["age"]
# students 会把数据传递给 func1
# 返回值 会按照顺序进行排序
students.sort(key=lambda x: x["age"], reverse=False)
print(students)
# 酱香进行排序
students.sort(key=lambda x: x["age"], reverse=True)
print(students)
本文探讨了lambda表达式的简洁用法、参数处理、带判断的返回值以及在排序和函数式编程中的实际应用,通过实例展示了如何利用lambda简化代码并实现高效数据处理。

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



