博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python 之map、filter、reduce
阅读量:4330 次
发布时间:2019-06-06

本文共 1501 字,大约阅读时间需要 5 分钟。

MAP

1.Python中的map()、filter()、reduce()    这三个是应用于序列的内置函数,这个序列包括list、tuple、str.    格式:        1>map(func,swq1[,seq2,...])        第一个参数接受一个函数名,后面的参数接受一个或多个可迭代的序列,返回的是一个集合。    Python函数编程中map()函数是将func作用域seq中的每一个元素,并将所有的调用的结果作为一个list返回。如果func为None,作用同zip()。(变为一个含有几个元组的列表)    另一个解释,function可以理解为是一个一对一或者多对一的函数,map作用是以参数序列中的每一个元素调用function函数,返回包含每次function函数返回值的list。        1.1>比如要对一个序列中的每个元素进行平方运算:        map(lamda x:x**2,[1,2,3,4,5])

'''[1,4,9,16,25]'''

1.2>在参数存在多个序列时,会依次每个序列中相同位置的元素做参数调用function函数。比如要对两个序列中的元素依次求和。        map(lambda x,y:x+y,[1,3,5,7,9],[2,4,6,8,10])

'''[3,7,11,15,19]'''

注意:function函数的参数数量,要和map中提供的集合数量相匹配,如果集合长度不等,会以最小长度对所有集合进行截取。        1.3>当函数为None是,操作和zip相似        map(None,[1,3,5,7,9],[2,4,6,8,10])

'''[(1,2),(3,4),(5,6),(7,8),(9,10)]'''

filter函数

filter函数会对序列执行过滤操作。1.定义    filter(function or None,sequence)------>list,tuple ,or stringfunction是一个谓语函数,接受一个参数,返回布尔值TRUE或FALSE。filter函数会对序列参数sequence中的每个参数调用function函数,最后返回的结果为TRUE的元素,返回值的类型和参数sequence的类型相同。2.例子def is_even(x):    return x&1  !=  0filter(is_even,[1,2,3,4,5,6,7,8,9,10])结果:

'''[1,3,5,7,9]'''

reduce 函数

1.定义:reduce(function,sequence[,initial]) --->valuefunction参数一个有两个参数的函数,reduce依次从sequence中去一个元素,和上一次调用function的结果做参数在此调用function。第一次调用function时,如果提供initial参数,会以sequence中第一个元素和initial作为参数调用function,否则会以序列sequence中前两个元素做参数调用function。注意:function函数不能为Nonereduce(lambda x,y:x+y,[2,3,4,5,6],1)

'''21 ((((((1+2)+3)+4)+5)+6)'''

reduce(lambda x,y:x+y,[2,3,4,5,6])

'''20'''

转载于:https://www.cnblogs.com/monkeyT/p/9709565.html

你可能感兴趣的文章
flume handler
查看>>
收藏其他博客园主写的代码,学习加自用。先表示感谢!!!
查看>>
H5 表单标签
查看>>
su 与 su - 区别
查看>>
C语言编程-9_4 字符统计
查看>>
在webconfig中写好连接后,在程序中如何调用?
查看>>
限制用户不能删除SharePoint列表中的条目(项目)
查看>>
【Linux网络编程】使用GDB调试程序
查看>>
feign调用spring clound eureka 注册中心服务
查看>>
ZT:Linux上安装JDK,最准确
查看>>
LimeJS指南3
查看>>
关于C++ const成员的一些细节
查看>>
《代码大全》学习摘要(五)软件构建中的设计(下)
查看>>
C#检测驱动是否安装的问题
查看>>
web-4. 装饰页面的图像
查看>>
微信测试账户
查看>>
Android ListView上拉获取下一页
查看>>
算法练习题
查看>>
学习使用Django一 安装虚拟环境
查看>>
Hibernate视频学习笔记(8)Lazy策略
查看>>