位置: 编程技术 - 正文

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

  • 小规模销售收入要做销项税额吗
  • 增值税发票税务ukey版开票流程
  • 期末有留底税额可需要进行账务处理
  • 个税计算方法和规定
  • 主营业务成本大于生产成本
  • 资本公积不足冲减是什么意思
  • 合伙企业投入资金是否缴纳印花税
  • 经营范围没有的可以开票吗
  • 餐饮注册个体工商户还是注册公司
  • 未确认融资收益对应的科目是什么
  • 企业预缴的增值税收入算不算企业的销售收入
  • 分公司注销后账户不注销可以吗
  • 抵减的增值税如何记账
  • 建筑企业劳保计入哪个科目?
  • 工程发票是不是都要异地预缴
  • 房地产建造运费怎么计算
  • 代理手续费税收分类编码
  • 去年的税还能退吗
  • 2020年职工福利费扣除比例
  • 防伪开票系统税票如何抵扣
  • 店面转让出去收到的钱如何做账?
  • 个人接受捐赠要开发票吗
  • 房屋租赁公司和公寓管理公司区别是什么
  • 现在就是去年
  • 何为民办非企业
  • 企业所得税税负率多少合适
  • msconfig配置文件
  • 公司+农户经营模式是什么意思
  • 苹果电脑怎么快速
  • 招待审计人员
  • 开源鸿蒙适配
  • 存出投资款要计入现金流吗
  • 暂存款借方余额
  • 移动有聊天室平台吗
  • 税务机关为小规模纳税人
  • php如何实现
  • 出租经营的开发产品应视为企业的
  • 一般纳税人增值税减免政策2023
  • 文化事业建设费减免政策
  • 公司投资资金
  • php判断useragent
  • 用流程图的形式写出视觉的形成过程
  • php与服务器的关系
  • 权益法下股权投资转让
  • 发票作废申请书模板
  • 报税财务报表怎么申报
  • 土地增值税预征税率一览表
  • 银行回单箱费会退回吗
  • 公司租赁员工的房屋
  • 计提怎么理解
  • 企业所得税实施条例第22条
  • 公司向股东个人借款
  • 研发费用人工费用包括
  • 所附原始凭证的作用是
  • 帐簿凭证的管理方法
  • 将Reporting services的RDL文件拷贝到另外一台机器时报Data at the root level is invalid的解决方法
  • windows vista电脑
  • Kaspersky Rescue Disk 2009.04.16 卡巴斯基救援盘
  • 在linux操作系统中,/etc/rc.d/init.d
  • windows10更新最新版本
  • win10 20h2 v2
  • windows8更新不了怎么办
  • 利用命令查看虚拟机的信息
  • 三分钟教你学会骑女式摩托车,连菜鸟都能学会
  • linux如何更改文件夹权限
  • cocos2d解密
  • input submit、button和回车键提交数据详解
  • js面向对象编程实例
  • ajaxfrom表单提交
  • webpack vue-loader
  • 测试驱动开发的基本过程
  • 请问在javascript程序中
  • javascript教程完整版
  • python保存文件到指定文件夹
  • web.py 十分钟创建简易博客实现代码
  • jQuery animate easing使用方法图文详解
  • 土地交易的印花税
  • 餐饮企业需要缴纳哪些税
  • 出口退税的汇率按什么时候的汇率
  • 网商贷补充收款方式
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设