在线客服
扫描二维码
下载博学谷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开发培训的问题,所以在线教育的发展很好的解决了这个问题。
6814
2019-08-08 10:23:31
Python排序算法有哪些?
排序算法可以用python实现,常见的排序算法有:插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。排序算法在程序员编程生涯中用的不多,但是作为基本功需要掌握一下。
4713
2020-01-03 15:37:33
Django框架在Python开发很重要为什么?
Django框架是一个web框架,且是一个后端框架程序,它不是服务器,需要注意Django框架帮我们封装了很多的组件,帮助我们实现各种功能,具有很强的扩展性。功能强大的脚手架和诸多开箱即用的组件,用Django搭建Web应用快速而又省力。
4707
2020-10-15 11:56:21
Python 新版本中的 6 个新特性,你去体验了么?
两周之前(2021年10月4日),一个新的Python版本发布了,Python 3.10。在新的版本中,Python 添加了独特且有价值的功能,同时删除了一些旧功能。我们可以将任何新软件版本中添加或删除的功能归为多个类别,例如语法特性、添加到默认库或对现有特性的改进。
2904
2021-10-22 11:40:26
CSS是什么?起什么作用?
CSS是(Cascading Style Sheets)层叠样式表的缩写简称样式表。网页设计者使用CSS可以定义元素的样式包括字体,颜色及其它的高级样式。做前端页面开发必须要知道CSS的作用及使用方法。
4413
2021-12-07 16:10:29