十二:重要的内置函数

一: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]

 

posted on   爱笑的张飞  阅读(181)  评论(0编辑  收藏  举报

编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗
< 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

导航

统计

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