文档章节

filter 函数 map 函数 reduce函数 介绍

o
 osc_z1hvg4cu
发布于 2018/04/24 19:41
字数 468
阅读 19
收藏 0
def

精选30+云产品,助力企业轻松上云!>>>

filter 遍历序列中的每一个元素,判断每个元素得到的布尔值,如果是True则留下来

初级版本
 1 movie_people = ['lining','zhaoheng','m aoxin','m_lining','m_zhaoheng']
 2 def m_show(n):
 3     return n.endswith('m')
 4 #lambda n: n.endswith('m')
 5 
 6 def filter_test(fun,array):
 7     ret = []
 8     for p in array:
 9         if not fun(p):
10             ret.append(p)
11     return ret
12 
13 
14 # res = filter_test(m_show,movie_people)
15 # print(res)
16 
17 res = filter_test(lambda n: n.endswith('m'),movie_people)
18 print(res)

高级版本 

1 #filter 函数
2 movie_people = ['lining', 'zhaoheng', 'm aoxin', 'm_lining', 'm_zhaoheng']
3 res = filter(lambda n: not  n.endswith('m'),movie_people)
4 print(list(res))
# map 为内置函数  其两个参数  fun主要为可迭代对象实现简单的功能   array为可迭代对象

初级版本 

1 num_1 = [1,2,3,4,5]    
2 def map_test(array):   
3     ret = []           
4     for i in array:    
5         ret.append(i+1)
6     return ret         
7 print(map_test(num_1))

初级版本2 

 1 num_1 = [1,2,3,4,5]                 
 2 def add_one(x):                     
 3     return x+1                      
 4 def reduce_one(x):                  
 5     return x-1                      
 6 
 7 def map_test(fun,array):            
 8     ret = []                        
 9     for i in array:                 
10         res = fun(i)                
11         ret.append(res)             
12     return ret                      
13 print(map_test(add_one,num_1))      
14 print(map_test(lambda x:x+1,num_1))

初级版本3

 1 num_1 = [1,2,3,4,5]                    
 2 def map_test(fun,array):               
 3     ret = []                           
 4     for i in array:                    
 5         res = fun(i)                   
 6         ret.append(res)                
 7     return ret                         
 8 print(map_test(lambda x:x+1,num_1))    
 9 print(map_test(lambda x:x-1,num_1))    
10 print(map_test(lambda x:x**2,num_1))   
11

高级版本 

 1 res = map(lambda x:x+1,num_1)

 2 print(list(res))  

#reduce :处理一个序列,然后把序列进行合并操作
初级版本1
1 num_1 = [1,2,3,4,12]
2 res = 0
3 for num in num_1:
4     res+=num
5 print(res)

初级版本 2

 1 def reduce_test(func,array,init=100):
 2     if init is None:
 3         res = array.pop(0)
 4     else:
 5         res = init
 6     for num in array:
 7         res=func(res,num)
 8     return res
 9 
10 ret = reduce_test(lambda x,y:x*y,num_1)
11 print(ret)

高级版本 

1 from functools import reduce
2 num_1 = [1,2,3,4,12]
3 res = reduce(lambda x,y:x*y,num_1,100)
4 print(res)

 

 
o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。

暂无文章

物联网开发服务开发虚拟设备需要几步?

云栖号快速入门:【点击查看更多云产品快速入门】 不知道怎么入门?这里分分钟解决新手入门等基础问题,可快速完成产品配置操作! 物联网平台设备的正常开发流程是:设备端开发完成,设备上报...

osc_2axit9df
39分钟前
18
0
互联网互联网必看文章墙裂推荐

后端必看文章系列 大型项目架构演进过程及思考的点

code-ortaerc
40分钟前
20
0
ACL2020论文整理 - 知乎

ACL2020录取文章已经放出,链接如下: ACL2020论文集合 www.aclweb.org 为了以后更加方便地阅读论文,也本着一颗开源之心,花一个下午的时间整理了一下相关论文。鉴于本人精力有限,并且也只...

osc_5w65ebjo
40分钟前
10
0
SU(N) Hubbard 模型平均场

osc_31d5oo2i
42分钟前
18
0
Python语言及其应用PDF高清完整版百度云盘免费下载|python基础教程PDF电子书推荐

编辑推荐 本书内容易于理解,而且读起来生动有趣,是编程和Python初学者不可多得的教程。书中首先介绍了Python的基础知识,然后逐渐深入多种主题,结合教程和攻略式风格来讲解Python 3中的概...

osc_nbg2lo7i
43分钟前
17
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部