3、匿名函数
lambda :用于定义匿名函数
匿名用于临时调用一次的场景:更多的是将匿名与其他函数配合使用
map(映射)
filter(过滤)
reduce(加减乘除计算,字符串拼接)
sorted(排序默认升序)
max(最大)
min(最小)
案例:
# 1、def用于定义有名函数
# func=函数的内存地址
# def func(x,y):
# return x+y
# print(func)
# 2、lamdab用于定义匿名函数
# print(lambda x,y:x+y)
# 3、调用匿名函数
# 方式一:
# res=(lambda x,y:x+y)(1,2)
# print(res)
# 方式二:
# func=lambda x,y:x+y
# res=func(1,2)
# print(res)
#4、匿名用于临时调用一次的场景:更多的是将匿名与其他函数配合使用
salaries={
'siry':3000,
'tom':7000,
'lili':10000,
'jack':2000
}
# 需求1:找出薪资最高的那个人=》lili
# res=max([3,200,11,300,399])
# print(res)
# res=max(salaries)
# print(res)
salaries={
'siry':3000,
'tom':7000,
'lili':10000,
'jack':2000
}
# 迭代出的内容 比较的值
# 'siry' 3000
# 'tom' 7000
# 'lili' 10000
# 'jack' 2000
# def func(k):
# return salaries[k]
# ========================max的应用
# res=max(salaries,key=func) # 返回值=func('siry')
# print(res)
# res=max(salaries,key=lambda k:salaries[k])
# print(res)
# ========================min的应用
# res=min(salaries,key=lambda k:salaries[k])
# print(res)
# ========================sorted排序
# salaries={
# 'siry':3000,
# 'tom':7000,
# 'lili':10000,
# 'jack':2000
# }
res=sorted(salaries,key=lambda k:salaries[k],reverse=True)
# print(res)
# ========================map的应用(了解)
# l=['alex','lxx','wxx','薛贤妻']
# new_l=(name+'_dsb' for name in l)
# print(new_l)
# res=map(lambda name:name+'_dsb',l)
# print(res) # 生成器
# ========================filter的应用(了解)
# l=['alex_sb','lxx_sb','wxx','薛贤妻']
# res=(name for name in l if name.endswith('sb'))
# print(res)
# res=filter(lambda name:name.endswith('sb'),l)
# print(res)
# ========================reduce的应用(了解)
from functools import reduce
res=reduce(lambda x,y:x+y,[1,2,3],10) # 16
print(res)
res=reduce(lambda x,y:x+y,['a','b','c']) # 'a','b'
print(res)
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 现代计算机视觉入门之:什么是图片特征编码
· .NET 9 new features-C#13新的锁类型和语义
· Spring AI + Ollama 实现 deepseek-r1 的API服务和调用
· 《HelloGitHub》第 106 期
· 数据库服务器 SQL Server 版本升级公告
· 深入理解Mybatis分库分表执行原理
· 使用 Dify + LLM 构建精确任务处理应用