十二:重要的内置函数
一:filter 函数(过滤器函数):通常用于过滤的功能,需要加入过滤的条件,过滤的对象为一个可迭代对象的每一个元素,返回一个filter 对象,通过强转换才可以显示内容。
example1:
1 # filter 过滤器函数 2 3 str = ['a','b','c','d'] 4 5 def func(s): # s 为每一个可迭代对象的元素 6 if s != 'a': # filter 只能过滤,有过滤条件 7 return s 8 9 ret = filter(func,str) 10 print(ret) # <filter object at 0x037A55B0> 11 print(list(ret)) # ['b', 'c', 'd']
二:map 函数:参数为一个可迭代对象的每一个元素,是对每一个元素执行相同的操作(通过函数实现具体的操作),返回一个map 对象,同样可以用强制转换来显示内容。
example 2:
1 # map 函数 2 3 str = ['a','b','c','d'] 4 5 def func(s): 6 return s + 'zhang' # 无过滤条件,filter不起作用 7 8 ret = filter(func,str) 9 print(list(ret)) # str==['a', 'b', 'c', 'd'],没有任何改变 10 ret = map(func,str) 11 print(ret) # <map object at 0x03A15CB0> 12 print(list(ret)) # ['azhang', 'bzhang', 'czhang', 'dzhang']
三:reduce 函数:参数为一个可迭代对象的每一个元素,是对每一个元素执行迭代操作(通过函数实现具体的操作),返回一个具体的值而不是对象。
example 3:
1 # reduce 函数 2 3 from functools import reduce # 在py3中需要调用,不是内置函数 4 5 def add(x,y): 6 return x + y 7 8 ret = reduce(add,range(1,11)) # 迭代相加,结果不是迭代器,就是一个值 9 print(ret) # 55
四:lambda 函数(匿名函数):传统的函数需要定义和返回语句,并且需要函数名,但是匿名函数不需要函数名,是一条语句,这条语句和函数有相同的功能。一般情况下和map ,reduce 这些函数配合使用。
格式:lambda x,y : x + y (其中,x,y 为函数的参数,x+y 为函数的返回值)
example 4: reduce + lambda 使用实例
1 # lambda 匿名函数 2 # lambda x,y: x * y 参数是 x,y ,返回值是 x*y 3 4 # Reduce + lambda 5 6 ret = reduce(lambda x,y: x * y,range(1,5)) # 迭代操作实现阶乘功能 7 print(ret) # 24
example 5:map + lambda 使用实例
1 # map() + lambda 2 3 square = map(lambda x: x * x,range(5)) 4 print(square) # <map object at 0x016673F0> 一个 map 对象 5 print(list(square)) # [0, 1, 4, 9, 16]
所有博文均为原著,如若转载,请注明出处!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗