温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

python中map函数和reduce函数知识点讲解

发布时间:2021-09-17 11:34:02 来源:亿速云 阅读:107 作者:chen 栏目:编程语言

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

  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函数知识点讲解”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI