【Python | 匿名函数的了解与使用】

本文介绍了Python中的匿名函数Lambda的使用,包括其定义、限制及常见应用场景,如求两个数的最大值、保留浮点数小数位数以及在排序操作中的应用。通过实例展示了Lambda函数在简化代码和提高效率方面的优势。
摘要由CSDN通过智能技术生成

匿名函数

  • 匿名函数在创建时不需要命名,所以叫匿名函数。
  • 匿名函数有个限制,就是只能有一个表达式,不用写return,返回值就是该表达式的结果
# 普通函数
def add(a, b):
    return a+b
print(add(1, 3))

# 匿名函数
add2 = lambda x, y: x + y
print(add2(1, 3))
4
4

Process finished with exit code 0
# 匿名函数
add2 = lambda *x: sum(x)
print(add2(1, 3, 6, 5))
15

Process finished with exit code 0

常见使用场景

  • 使用匿名函数来返回两个数之间的最大值
comp = lambda x, y: x if x>y else y
# comp = lambda x, y: max(x, y)
# comp = lambda x, y: x > y and x or y
print(f"最大值:{comp(2, 3)}")
最大值:3

Process finished with exit code 0
  • 使用匿名函数将传入浮点数保留两位小数
f = lambda x: float('%2f'%x)
# f = lambda x: round(x, 2)
print(f(3.466544))
3.47

Process finished with exit code 0
  • 排序借助匿名函数
# sorted => 内建函数 => 排序
# sorted(要排序的对象, key=函数)
mylist = [-1, 10, 8, -9, 6, 3]
print(sorted(mylist))
[-9, -1, 3, 6, 8, 10]

Process finished with exit code 0
# 按绝对值进行排序 => [-1, 3, 6, 8, -9, 10]
print(sorted(mylist, key=lambda x: x if x>0 else -x))

# 不区分大小写排序
mystr = "AsdBcmG"
# print(sorted(mystr, key=lambda x: x.lower() if x.isupper else x))
print(sorted(mystr, key=lambda x: x.lower()))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值