Python 之map、filter、reduce
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 string
function是一个谓语函数,接受一个参数,返回布尔值TRUE或FALSE。
filter函数会对序列参数sequence中的每个参数调用function函数,最后返回的结果为TRUE的元素,返回值的类型和参数sequence的类型相同。
2.例子
def is_even(x):
return x&1 != 0
filter(is_even,[1,2,3,4,5,6,7,8,9,10])
结果:
'''[1,3,5,7,9]'''
reduce 函数
1.定义:reduce(function,sequence[,initial]) --->value
function参数一个有两个参数的函数,reduce依次从sequence中去一个元素,和上一次调用function的结果做参数在此调用function。
第一次调用function时,如果提供initial参数,会以sequence中第一个元素和initial作为参数调用function,否则会以序列sequence中前两个元素做参数调用function。
注意:function函数不能为None
reduce(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'''
Python 之map、filter、reduce的更多相关文章
- Python中map,filter,reduce,zip的应用
事例1: l=[('main', 'router_115.236.xx.xx', [{'abc': 1}, {'dfg': 1}]), ('main', 'router_183.61.xx.xx', ...
- Python【map、reduce、filter】内置函数使用说明(转载)
转自:http://www.blogjava.net/vagasnail/articles/301140.html?opt=admin 介绍下Python 中 map,reduce,和filter 内 ...
- 【转】Python 中map、reduce、filter函数
转自:http://www.blogjava.net/vagasnail/articles/301140.html?opt=admin 介绍下Python 中 map,reduce,和filter 内 ...
- python常用函数进阶(2)之map,filter,reduce,zip
Basic Python : Map, Filter, Reduce, Zip 1-Map() 1.1 Syntax # fun : a function applying to the iterab ...
- Python【map、reduce、filter】内置函数使用说明
题记 介绍下Python 中 map,reduce,和filter 内置函数的方法 一:map map(...) map(function, sequence[, sequence, ...]) -& ...
- python 内置函数 map filter reduce lambda
map(函数名,可遍历迭代的对象) # 列组元素全加 10 # map(需要做什么的函数,遍历迭代对象)函数 map()遍历序列得到一个列表,列表的序号和个数和原来一样 l = [2,3,4,5,6, ...
- 如何在python3.3用 map filter reduce
在3.3里,如果直接使用map(), filter(), reduce(), 会出现 >>> def f(x): return x % 2 != 0 and x % 3 != 0 ...
- Swift map filter reduce 使用指南
转载:https://useyourloaf.com/blog/swift-guide-to-map-filter-reduce/ Using map, filter or reduce to ope ...
- 数组的高阶方法map filter reduce的使用
数组中常用的高阶方法: foreach map filter reduce some every 在这些方法中都是对数组中每一个元素进行遍历操作,只有foreach是没有 ...
- Python中Lambda, filter, reduce and map 的区别
Lambda, filter, reduce and map Lambda Operator Some like it, others hate it and many are afraid of t ...
随机推荐
- maven wrapper使用本地maven
修改maven-wrapper.properties内容如下: #distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apa ...
- kubernetes云平台管理实战:HPA水平自动伸缩(十一)
一.自动伸缩 1.启动 [root@k8s-master ~]# kubectl autoscale deployment nginx-deployment --max=8 --min=2 --cpu ...
- 第四节:Task的启动的四种方式以及Task、TaskFactory的线程等待和线程延续的解决方案
一. 背景 揭秘: 在前面的章节介绍过,Task出现之前,微软的多线程处理方式有:Thread→ThreadPool→委托的异步调用,虽然也可以基本业务需要的多线程场景,但它们在多个线程的等待处理方面 ...
- 第十二节:Lambda、linq、SQL的相爱相杀(1)
一. 谈情怀 Lambda.Linq.SQL伴随着我的开发一年又一年,但它们三者并没有此消彼长,各自占有这一定的比重,起着不可替代的作用. 相信我们最先接触的应该就是SQL了,凡是科班出身的人,大学 ...
- Pandas的一些简单函数总结
pd.Series(my_list) # 从一个可迭代的对象 my_list 中创建一个数据组df.index = pd.date_range('2017/1/1', periods=df.shape ...
- CSS盒模型(Box Model)
阅读目录 1. 什么是CSS盒模型 2. IE盒模型和W3C盒模型 3. CSS3属性box-sizing 4. 关于盒模型的使用 在最初接触CSS的时候,对于CSS盒模型的不了解,撞了很多次的南墙呀 ...
- Python3:字符串的大小写和镜像字符串(swapcase()函数,chr(),ord(),translate()函数)
题目: 请编程实现字符串的转换:1. 将"adsdsfdndsdsdfsfdsdASDSDEDSFE18754"字符串大写变小写,小写变大写:2. 并且将字符串变为镜像字符串,例如 ...
- java PDF2JPG
import org.apache.commons.lang3.StringUtils; import org.apache.pdfbox.pdmodel.PDDocument; import org ...
- Mac环境下的mongodb的安装
1.安装MongoDB brew install mongodb 这个是默认安装最新版本的 mogodb,如果想安装指定版本可以先查看 mongodb 版本 brew search mongodb m ...
- Redis和memcahce的区别【转】
先给大家讲一个基本知识点:数据库分类大致分为两类,关系型数据库和非关系型数据库.如果详细区分的话,还可以继续分下去. Redis不仅仅是缓存数据库 面试的时候,很多人会问,Redis和memcahce ...