骄傲的赛亚人

高阶函数

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)]

 


posted on   骄傲的赛亚人  阅读(170)  评论(0编辑  收藏  举报

编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
· Manus的开源复刻OpenManus初探
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示