位置: 编程技术 - 正文

Python reduce()函数的用法小结(pythonreduce函数的作用)

编辑:rootadmin

推荐整理分享Python reduce()函数的用法小结(pythonreduce函数的作用),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:python reducebykey,pythonreduce函数,python中reduce()函数的用法,python3 reduce函数,pythonreduce函数,pythonreduce函数的作用,pythonreduce函数的用法,pythonreduce函数的用法,内容如对您有帮助,希望把文章链接给更多的朋友!

reduce()函数也是Python内置的一个高阶函数。

reduce()

格式:

reduce (func, seq[, init()])

reduce()函数即为化简函数,它的执行过程为:每一次迭代,都将上一次的迭代结果(注:第一次为init元素,如果没有指定init则为seq的第一个元素)与下一个元素一同传入二元func函数中去执行。在reduce()函数中,init是可选的,如果指定,则作为第一次迭代的第一个元素使用,如果没有指定,就取seq中的第一个元素。 reduce()函数的执行过程如下图所示:

从reduce函数的执行过程,让我们很容易联想到求一个数的阶乘,而Python中并没有给出一个求阶乘的内置函数,正好我们就拿这个例子来说明reduce函数吧。

上面的例子中range(1,6)函数生成的是一个[1, 2, 3, 4, 5]这样的列表,这里我们给它个名叫seq1吧,reduce()函数执行时,由于没有指定init参数,所以将取seq1中的第一个元素1,作为第一个元素,由于前面的lambda有2个变量,所以需要两个实参,于是就取seq1中的第2个元素2,与第一个元素1一起传入lambda中去执行,并将返回结果2,并同下一个元素3再一起传入lambda中执行,再次返回的结果,作为下一次执行的第一个元素,依次类推,就得出结果5! = 。 如果我们希望得到阶乘的结果再多增加几倍,可以启用init这个可选项。如:

这个时候,就会将init作为第一个元素,和seq1中的第一个元素1一起传入lambda函数中去执行,返回结果再作为下一次的第一个元素。

Python reduce()函数的用法小结(pythonreduce函数的作用)

下面给出的例子更简单一些,大家可以看下

reduce()函数接收的参数和 map()类似,一个函数 f,一个list,但行为和 map()不同,reduce()传入的函数 f 必须接收两个参数,reduce()对list的每个元素反复调用函数f,并返回最终结果值。

例如,编写一个f函数,接收x和y,返回x和y的和:

调用 reduce(f, [1, 3, 5, 7, 9])时,reduce函数将做如下计算:

先计算头两个元素:f(1, 3),结果为4;再把结果和第3个元素计算:f(4, 5),结果为9;再把结果和第4个元素计算:f(9, 7),结果为;再把结果和第5个元素计算:f(, 9),结果为;由于没有更多的元素了,计算结束,返回结果。

上述计算实际上是对 list 的所有元素求和。虽然Python内置了求和函数sum(),但是,利用reduce()求和也很简单。

reduce()还可以接收第3个可选参数,作为计算的初始值。如果把初始值设为,计算:

reduce(f, [1, 3, 5, 7, 9], )

结果将变为,因为第一轮计算是:

计算初始值和第一个元素:f(, 1),结果为。

python中lambda()的用法 在C++和C#中都有匿名函数的存在。下面看看在python中匿名函数的使用。1.lambda只是一个表达式,函数体比def简单很多。2.lambda的主体是一个表达式,而不

详解Python map函数及Python map()函数的用法 pythonmap函数map()函数map()是Python内置的高阶函数,它接收一个函数f和一个list,并通过把函数f依次作用在list的每个元素上,得到一个新的list并返回。例

python使用fork实现守护进程的方法 os模块中的fork方法可以创建一个子进程。相当于克隆了父进程os.fork()子进程运行时,os.fork方法会返回0;而父进程运行时,os.fork方法会返回子进程的PID

标签: pythonreduce函数的作用

本文链接地址:https://www.jiuchutong.com/biancheng/372264.html 转载请保留说明!

上一篇:python下10个简单实例代码(python%i)

下一篇:python中lambda()的用法(Python中lambda的作用)

  • 进项税抵扣怎么弄
  • 进项税额留抵科目
  • 哪个税种不需要认定就能在电子税务局申报
  • 软件公司主营业务类别
  • 水利建设专项收入的计税依据是什么?
  • 货运增值税发票抵扣条件
  • 房地产企业增值税税率
  • 计税依据的三种类型
  • 无偿捐赠设备该如何做账务处理呢?
  • 个体工商户怎么分配股份
  • 销售货物并运输增值税
  • 贷款利息可以抵税吗
  • 增值税留底税怎么计算
  • 工程结算与工程施工
  • 增值税小规模纳税人免征增值税政策
  • 关于两套账老板和会计须知的4个点
  • 质押贷款属于什么贷款
  • 赠送的商品怎么入账
  • 减半征税怎么算
  • 投资收益科目应用
  • 企业会计准则固定资产解释
  • 当月支付的费用需要计提吗
  • 普通发票多久之后还可以红冲
  • 公司租房可以抵扣个人所得税吗
  • 公司向股东借款合法吗
  • 无效发票不能报销怎么办
  • 企业研发费用可以只加计一半吗
  • 转让股权怎么做会计分录
  • hotkey可以卸载吗
  • 应付职工薪酬的明细科目有哪些
  • phppoem
  • laravel中的session有效期
  • css盒子如何居中
  • php生成随机数不重复
  • 微信小程序消息订阅怎么打开
  • 正在求偶的凤头卡拉鹰,美国德克萨斯州 (© Alan Murphy/Minden Pictures)
  • php数组拼接成字符串
  • html编写
  • 帝国cms手机端点击加载不动怎么弄
  • 收到的免税苗木发票必须当月抵扣么
  • 选择简易计税方法按照5%的征收率计税公式
  • 什么是企业所得税收入
  • 公司财务人员岗位职责
  • 无效发票进项税额抵扣
  • 商场账务
  • 建筑企业异地施工预缴企业所得税
  • mysql集群配置
  • 技术服务费怎么收合理
  • 幼儿园园服已发给孩子怎么通知家长
  • 收到国家电网信息但号码不是的
  • 企业给员工交公积金怎么办理
  • 去年主营业务收入少计
  • 筹建期间购买的五金工具计入什么科目
  • 贷款利息进项税额转出
  • 硕士研究生个税专项扣除
  • 招标代理公司用哪个版本什么意思
  • 企业接受供应单位提供劳务而发生的应付账款
  • 存货报废计入
  • sql多条件组合查询
  • 建立mysql
  • Windows 2008R2 HyperV下安装CentOS6,网卡无痛设置
  • linux监视内存详细信息命令
  • winxp系统设置密码
  • mac系统终端命令大全
  • win8怎么更改账户名称
  • win8怎么启动资源管理器
  • linux内核文件夹
  • h5 nodejs
  • android本地保存数据
  • CCKiller:Linux轻量级CC攻击防御工具,秒级检查、自动拉黑和释放
  • unity配置安卓sdk
  • 用python写多线性模型
  • unity方法大全
  • nodejs获取异步请求返回值
  • python网络爬虫项目步骤
  • js的span标签
  • python ftp storbinary
  • 地税局公务员考试科目
  • 江苏电子税务局网站官网
  • 淮北税务局领导简介
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设