位置: 编程技术 - 正文

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的作用)

  • 税务局开专票作废重开流程
  • 出口货物退免税管理办法
  • 养猪场死猪处理方法
  • 企业可以一次性补交员工十年养老保险吗
  • 公司零星支出没有发票收据怎么开
  • 印鉴变更手续费50元
  • 无使用价值的存货属于资产吗
  • 材料采购发生的合理损耗计入
  • 成品油一般经营企业交什么税
  • 所得税缴纳计算公式
  • 视频制作费属于劳务费吗
  • 房租发票进项税可以抵扣吗
  • 建筑业增值税专票抵扣后的税点是多少
  • 离职补偿金个税计算器2022
  • 扩大税收来源什么意思
  • 夫妻双方交契税可以一人到嘛
  • 注册资本使用后账务如何处理
  • 教育培训机构涉税问题
  • 国家税务局通用定额发票还能用吗
  • 债转股的税收政策
  • 一级代理价格
  • 一般纳税人免税申报表怎么填
  • 融资租入固定资产计提折旧吗
  • 职工福利费和职工薪酬的区别
  • 苹果iphone支持在哪
  • 增值税发票税率怎么算
  • 网速突然变差是什么原因
  • php composer自动加载
  • 企业购入固定资产在每期末应使用公允价值法进行计量
  • 工会经费用途规定
  • 培训费收入交什么税
  • 利润分配的账务处理如何做
  • phpstudy备份数据库
  • php的exec
  • PostMan接口测试(很全面的接口测试教程)
  • 差旅费住宿费专票抵扣联贴在哪里
  • mysql binlog是什么
  • 研发支出相关科目
  • 所有进项增值税怎么申报
  • 公司食堂开支如何记账
  • mysql5.0升级到8.0
  • Sqlserver 2005使用XML一次更新多条记录的方法
  • 对公账户给别人走账
  • 内部往来划账通知单
  • 冲减以前年度营业外收入分录
  • 自己开发财务软件
  • 本年利润为
  • 给客户买的礼品要交税吗
  • 金蝶旗舰版的数据怎么在标准版打开
  • 母公司给子公司担保
  • 简易计税转出
  • 淘宝电商怎么做账
  • 酒店的经济性质是什么
  • 租金收入分摊政策规定
  • 存储过程mysql
  • mysql用处
  • windowsserver2008r2版本区别
  • centos6.5安装步骤
  • centos源码安装软件
  • windows 10 build 9834
  • 在linux 上使用QQ聊天程序
  • win8的系统
  • sbserv.exe - sbserv是什么进程 有什么用
  • win7旗舰版64位系统无法进入安全模式怎么办?
  • win8.1玩游戏卡
  • windows7旗舰版怎样扩大虚拟内存
  • linux装完显卡驱动分辨率低
  • opengl 投影矩阵
  • javascript的区别
  • cocos2d-js-min.js
  • nginx与php
  • javascript的简介
  • javascript中的原型和原型链
  • javascript操作网页
  • android 自定义
  • python中列表和元组的典型案例
  • 哪个机场离东莞樟木头最近
  • 煤炭洗选工艺
  • 税控盘可以换成ukey吗
  • 地方税务局发票管理所
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设