赞
踩
# 一个函数只有一行代码 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)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。