成都创新互联网站制作重庆分公司

python中map函数和reduce函数知识点讲解-创新互联

本篇内容主要讲解“python中map函数和reduce函数知识点讲解”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python中map函数和reduce函数知识点讲解”吧!

目前成都创新互联公司已为1000多家的企业提供了网站建设、域名、网页空间、网站托管维护、企业网站设计、代县网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

  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中map函数和reduce函数知识点讲解”有了更深的了解,不妨来实际操作一番吧!这里是创新互联成都网站设计公司网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


分享文章:python中map函数和reduce函数知识点讲解-创新互联
标题来源:http://cxhlcq.com/article/cschic.html

其他资讯

在线咨询

微信咨询

电话咨询

028-86922220(工作日)

18980820575(7×24)

提交需求

返回顶部