高阶函数
1、匿名函数:lambda
语法:lambda 参数1,参数2: 函数返回值表达式。(参数可以是一个或多个)
func=lambda x,y:x*y
print(func(2,3))
输出:6
应用场景:
x就是列表中的一组数据
print(li)
输出:[[1, 23, 44], [32, 43, 23], [32, 44, 12]]
匿名函数面试题:
li等于5个匿名函数
i取的是最后一个循环的值
输出:
16
16
16
16
16
2、过滤器:filter(内置函数)
作用:对函数进行过滤,留下满足条件的值
表达式:
res = filter(lambda x: x > 10, li)
参数1:过滤规则函数,会根据函数的返回值来进行过滤
参数2:要进行过滤的可迭代对象
data返回的是一个过滤器对象
输出:
<filter object at 0x000001F567A47470>
[32, 43, 43, 32, 11, 23]
3、偏函数:partial
使用偏函数需要导入:from functools import partial
作用:当函数的参数个数太多,用来固定原函数的部分参数(相当于重构函数)
26行:将过滤器函数filter的第一个参数固定 ,data是一个过滤器函数
27行:在调用过滤器函数的时候,就只需要给函数传递一个,可迭代对象的参数
4、map函数
参数1:处理函数
参数2:可迭代对象
将li列表中的值依次取出来,然后传递给handle_data函数,函数执行后,把所有的数据,返回到一个map对象中
5、all函数:(代替and)
all后面可以跟任意可迭代对象
6、any函数:代替or
7、exec函数
eval:识别字符串中有效的python表达式
exec作用:执行字符串中有效的python代码,是一个python执行器
输出:
100
阿豪
8、zip函数:聚合打包
传入zip的必须是可迭代对象
zip()函数在运算时,会以一个或多个序列(可迭代对象)作为参数,返回一个元祖的列表。同时将这些序列中并排的元素配对
zip()函数可以接受任何类型的序列,同时也可以有两个以上的参数,当传入参数长度不一致时,zip能自动以最短序列长度为准进行截取,获得元祖
输出:
[('id', 1), ('name', 'tom'), ('age', 20)]
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
· Manus的开源复刻OpenManus初探