在线客服
扫描二维码
下载博学谷APP
扫描二维码
关注博学谷微信公众号
map函数和reduce函数知识点讲解,根据参数,参数map()包含两个参数,第一个参数是一个函数,第二个是序列(列表 或元组)。reduce()第一个参数是函数,第二个是序列(列表或元组);依据数值作用,map()是将传入的函数依次作用到序列的每个元素,reduce()是将传人的函数作用在序列的第一个元素得到结果。

1、从参数方面来讲:
map()包含两个参数,第一个参数是一个函数,第二个是序列(列表 或元组)。其中,函数(即 map 的第一个参数位置的函数)可以接收一个或多个参数。
reduce()第一个参数是函数,第二个是序列(列表或元组)。但是,其函数必须接收两个参数。
2、从对传进去的数值作用来讲:
map()是将传入的函数依次作用到序列的每个元素,每个元素都是独自被函数“作用”一次 。
reduce()是将传人的函数作用在序列的第一个元素得到结果后,把这个结果继续与下一个元素作用(累积计算)。
map()函数接收两个参数,一个是函数,一个是Iterable,map将传入的函数依次作用到序列的每个元素,并把结果作为新的Iterator返回。
>>> def f(x):
... return x * x
...
>>> r = map(f, [1, 2, 3, 4, 5, 6, 7, 8, 9])
>>> list(r)
[1, 4, 9, 16, 25, 36, 49, 64, 81
map()传入的第一个参数是f,即函数对象本身。由于结果r是一个Iterator,Iterator是惰性序列,
因此通过list()函数让它把整个序列都计算出来并返回一个list。
reduce把一个函数作用在一个序列[x1, x2, x3, ...]上,这个函数必须接收两个参数,
reduce把结果继续和序列的下一个元素做累积计算,其效果就是
reduce(f, [x1, x2, x3, x4]) = f(f(f(x1, x2), x3), x4)
age:利用map和reduce编写一个str2float函数,把字符串'123.456'转换成浮点数123.456
def str2float(s):
def fn(x,y):
return x*10+y
n=s.index('.')
s1=list(map(int,[x for x in s[:n]]))
s2=list(map(int,[x for x in s[n+1:]]))
return reduce(fn,s1) + reduce(fn,s2)/10**len(s2)
print('\'123.4567\'=',str2float('123.4567'))
Python内建的filter()函数用于过滤序列。
和map()类似,filter()也接收一个函数和一个序列。和map()不同的是,filter()把传入的函数依次作用于每个元素
然后根据返回值是True还是False决定保留还是丢弃该元素。filter()函数返回的是一个Iterator,也就是一个惰性序列。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
python为什么这么火?python会一直火下去吗?
今天,我们来聊一聊最近火的一塌糊涂的编程语言——Python。众所周知,Python已不是一种年轻的编程语言,它突然火爆的背后到底有那些深层原因呢?
11939
2019-06-25 18:53:31
七大Python技巧帮助你提升工作效率
本文将介绍七大Python技巧帮助大家提升工作效率,它们分别是整理字符串输入,控制可以/不可以导入什么,用「__slots__」节省内存,迭代器切片,实现比较运算符的简单方法,跳过可迭代对象的开头,只包含关键字参数的函数等等。大家要是能够学会这七大Python技巧,就能极大的提高自己的Python技能,现在让我们一起来看看吧!
9632
2019-11-12 15:05:23
2020年哪些热门IT岗位好找工作?
2020年热门IT岗位,由于疫情严重,导致临床医学、公共卫生、集成电路、人工智能、预防医学、应急管理、养老服务管理、电子商务专业人才紧缺,每个人都需要重新规划,了解当下热门iIT技术,提升自身的能力。
7790
2020-03-10 10:17:32
Python 函数默认返回None原因是什么?
Python 函数默认返回None原因:定义的函数没有返回值,Python 解释器就会强行地默认给注入一段返回逻辑!实际上 Python 中有很多行为都是隐性的。
9626
2020-08-19 15:29:51
CSS是什么?起什么作用?
CSS是(Cascading Style Sheets)层叠样式表的缩写简称样式表。网页设计者使用CSS可以定义元素的样式包括字体,颜色及其它的高级样式。做前端页面开发必须要知道CSS的作用及使用方法。
6854
2021-12-07 16:10:29
