Python的内建函数map和reduce的使用方法

鳄鱼君

发表文章数:642

Vieu四代商业主题

高扩展、安全、稳定、响应式布局多功能模板。

¥69 现在购买
首页 » Python » Python的内建函数map和reduce的使用方法

map()函数

Python内建了map()和reduce()函数。map()函数接收两个参数,第一个是函数,第二个是Iterable(可迭代对象,可直接作用于for循环的对象),map将传入的函数依次作用到序列的每个元素,并把结果作为新的Iterator(迭代器)返回。

from collections.abc import Iterable
def fun(n):
  return n*n
a=map(fun,[1,2,3,4])
print(a)
print(list(a))
print(isinstance(a,Iterable))

map()传入的第一个参数是fun,即函数对象本身。由于结果a是一个Iterator,Iterator是惰性序列,因此通过list()函数让它把整个序列都计算出来并返回一个list。

reduce()函数

reduce把一个函数作用在一个序列(字符串、列表、元组、集合和字典)上,这个函数必须接收两个参数,reduce把结果继续和序列的下一个元素做累积计算,其效果就是:

reduce(fun, [x1, x2, x3, x4]) = fun(fun(fun(x1, x2), x3), x4)

我们可以使用这种方式把一个序列转换为整数:

from functools import reduce
def fun(x,y):
  return x*10+y
print(reduce(fun,[1,2,3]))

未经允许不得转载:作者:鳄鱼君, 转载或复制请以 超链接形式 并注明出处 鳄鱼君
原文地址:《Python的内建函数map和reduce的使用方法》 发布于2020-04-09

分享到:
赞(1) 赏杯咖啡

评论 抢沙发

1 + 7 =


文章对你有帮助可赏作者一杯咖啡

支付宝扫一扫打赏

微信扫一扫打赏

Vieu4.6主题
专业打造轻量级个人企业风格博客主题!专注于前端开发,全站响应式布局自适应模板。
切换注册

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

Q Q 登 录
微 博 登 录
切换登录

注册