目录

  • 一.Python reduce 函数简介

    • 1.reduce 函数语法
    • 2.reduce 函数原理
  • 二.Python reduce 函数使用
    • 1.reduce 函数普通使用
    • 2.reduce 函数配合匿名函数使用
    • 3.reduce 函数设置可选参数 initial
  • 三.猜你喜欢

零基础 Python 学习路线推荐 : Python 学习目录 >> Python 基础入门

Python 内置函数 reduce 和 map / filter 等函数有点类似,都是通过函数对迭代器中的元素进行遍历操作,唯一区别是 reduce 函数是返回计算结果是一个值,而 map / filter 是返回一个序列或者迭代器,下面在做详细解释

一.Python reduce 函数简介

1.reduce 函数语法

# !usr/bin/env python
# -*- coding:utf-8 _*-
"""
@Author:猿说编程
@Blog(个人博客地址): www.codersrc.com
@File:Python reduce 函数.py
@Time:2021/05/18 07:37
@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!"""from functools import reduce # 导入模块'''
参数介绍:function – 有两个参数的函数, 必需参数;sequence – tuple ,list ,dictionary, string等可迭代物,必需参数;initial – 初始值, 可选参数;返回值:返回计算结果;
'''
reduce(function, sequence[, initial])

2.reduce 函数原理

reduce 函数的工作过程是 :在迭代 sequence(tuple ,list ,dictionary, string 等可迭代物)的过程中,首先把 前两个元素传给 函数参数,函数加工后,然后把得到的结果和第三个元素作为两个参数传给函数参数, 函数加工后得到的结果又和第四个元素作为两个参数传给函数参数,依次类推。

如果传入了 initial 值, 那么首先传的就不是 sequence 的第一个和第二个元素,而是 initial 值和 第一个元素。经过这样的累计计算之后合并序列到一个单一返回值;

例如:reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) 计算的就是((((1+2)+3)+4)+5) = 15

二.Python reduce 函数使用

1.reduce 函数普通使用

# !usr/bin/env python
# -*- coding:utf-8 _*-
"""
@Author:猿说编程
@Blog(个人博客地址): www.codersrc.com
@File:Python reduce 函数.py
@Time:2021/05/18 07:37
@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!"""from functools import reduce # 导入模块def func1(x,y):# 把上一次计算的结果作为下一次的计算的输入print("x=%d y=%d x*y=%d"%(x,y,x*y))return x*yif __name__ == "__main__":list1 = [1,2,3,4,5]value = reduce(func1,list1) #等价 1*2*3*4*5 = 120print(value)print(type(value))'''
输出结果:x=1 y=2 x*y=2
x=2 y=3 x*y=6
x=6 y=4 x*y=24
x=24 y=5 x*y=120
120
<class 'int'>
'''

实际上这个函数很简单:把上一次计算的结果作为下一次的计算的输入!

2.reduce 函数配合匿名函数使用

# !usr/bin/env python
# -*- coding:utf-8 _*-
"""
@Author:猿说编程
@Blog(个人博客地址): www.codersrc.com
@File:Python reduce 函数.py
@Time:2021/05/18 07:37
@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!"""if __name__ == "__main__":list1 = [1,2,3,4,5]value = reduce(lambda x,y : x*y ,list1) #等价 1*2*3*4*5 = 120print(value)print(type(value))'''
输出结果:120
<class 'int'>
'''

3.reduce 函数设置可选参数 initial

# !usr/bin/env python
# -*- coding:utf-8 _*-
"""
@Author:猿说编程
@Blog(个人博客地址): www.codersrc.com
@File:Python reduce 函数.py
@Time:2021/05/18 07:37
@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!"""from functools import reduce # 导入模块def func1(x,y):return x*yif __name__ == "__main__":list1 = [1,2,3,4,5]value = reduce(func1,list1,50) #等价 50*1*2*3*4*5 = 6000print(value)print(type(value))'''
输出结果:6000
<class 'int'>
'''

三.猜你喜欢

  1. Python 条件推导式
  2. Python 列表推导式
  3. Python 字典推导式
  4. Python 不定长参数 *argc/**kargcs
  5. Python 匿名函数 lambda
  6. Python return 逻辑判断表达式
  7. Python is 和 == 区别
  8. Python 可变数据类型和不可变数据类型
  9. Python 浅拷贝和深拷贝
  10. Python 异常处理
  11. Python 线程创建和传参
  12. Python 线程互斥锁 Lock
  13. Python 线程时间 Event
  14. Python 线程条件变量 Condition
  15. Python 线程定时器 Timer
  16. Python 线程信号量 Semaphore
  17. Python 线程障碍对象 Barrier
  18. Python 线程队列 Queue – FIFO
  19. Python 线程队列 LifoQueue – LIFO
  20. Python 线程优先队列 PriorityQueue
  21. Python 线程池 ThreadPoolExecutor(一)
  22. Python 线程池 ThreadPoolExecutor(二)
  23. Python 进程 Process 模块
  24. Python 进程 Process 与线程 threading 区别
  25. Python 进程间通信 Queue / Pipe
  26. Python 进程池 multiprocessing.Pool
  27. Python GIL 锁

未经允许不得转载:猿说编程 » Python reduce 函数

Python reduce 函数 - Python零基础入门教程相关推荐

  1. Python return逻辑判断表达式 - 零基础入门教程

    目录 一.return 逻辑判断表达式 and 二.return 逻辑判断表达式 or 三.return 逻辑判断表达式 and 和 or 配合使用 四.return 逻辑判断表达式重点总结 五.猜你 ...

  2. python怎么输出浮点数_python 零基础入门教程第 2 章:基本数据类型 (一)

    一.什么是数据类型 编程语言通过一些复杂的计算机物理底层机制,创造不同类型的数据,用来表示现实世界中的不同信息,以便于计算机更好的存储和计算. 每种编程语言都会有一些基本的数据类型用来表示现实世界中的 ...

  3. 视频教程-Python零基础入门教程-Python

    Python零基础入门教程 从2012年从事互联网至今有7年软件编程经验,曾任职国内北京互联网公司,中南林业大学授课Python 现任逻辑教育Python课程负责人,精通Python语言,精通人工智能 ...

  4. Python零基础入门教程( 快速入门)

    前言 学无止境,无止境学. 今天要给大家分享的是<Python零基础入门教程01 快速入门>,这是一个系列的教程,从零基础到项目实战.在本教程中,我会给大家介绍Python入门的一些基础知 ...

  5. Python 3.X 完全零基础入门精讲 全套视频教程

    简介 零基础小白快速学程序员大爱语言――Python,易学易用易就业!!! 目标人群:熟悉电脑基本操作,编程零基础或已具备Python或其它编程语言的人群. 课程目标:绝对零基础Python3.x 入 ...

  6. python是什么软件-零基础入门Python怎么学习?老男孩python用什么软件

    在培训学习Python时,怎么才能学好Python?随着Python技术的发展,越来越多的人开始学习Python编程语言,那么零基础入门Python该怎么学习? 1.要养成良好的代码编写习惯,注重细节 ...

  7. C语言 const 修饰函数参数 - C语言零基础入门教程

    C语言 const 修饰函数参数 - C语言零基础入门教程 目录 一.const 简介 1.const 修饰变量 2.const 修饰指针 3.const 修饰在函数名前面 4.const 修饰在函数 ...

  8. 视频教程-ARDUINO零基础入门教程【代码编程篇】-Arduino

    ARDUINO零基础入门教程[代码编程篇] 精通各种单片机编程,有十年以上ARDUINO,51单片机/STM32/PIC/AVR编程,硬件设计,绘图,编程经验.熟悉各种常用传感器使用和物联网通讯 赵勇 ...

  9. C++零基础入门教程:基础篇(一)

    前言 嘿嘿,我叕来啦─=≡Σ(((つ•̀ω•́)つ!别问我为什么突然变成了零基础入门教程(一),因为前面那三篇都是基础的不能在基础的教程了.(其实是因为顺序乱了,而且那时候没有单独弄一个专栏,后面我会 ...

  10. SEO零基础入门教程(外链的发布和软文编写)

    seo的作用是众所周知的,对网站进行seo优化,可以给网站带来大量的搜索引擎流量.但是想要做好网站优化也有难度,尤其是对于seo新手来说,因为缺乏理论和实战,所以seo新手需要多加练习.那么具体seo ...

最新文章

  1. 剑指offer:面试题13. 机器人的运动范围
  2. Linux系统挂载ntfs分区
  3. 活跃用户数怎么计算_不懂LTV,怎么做用户增长?详解用户生命周期价值计算方法...
  4. Vue.js 笔记之 img src
  5. RuntimeError 之 : CUDA error: device-side assert triggered
  6. Exp3 免杀原理与实践
  7. XidianOJ 1090 爬树的V8
  8. ubuntu 64 12.04 oracle,Ubuntu 12.04 (amd64)安装Oracle 11g 总结
  9. 异常检测-基于孤立森林算法Isolation-based Anomaly Detection-1-论文学习
  10. windows mobile设置插移动卡没反应_u盘插入电脑没反应怎么办 u盘插入电脑没反应解决方法【详解】...
  11. Ipython Notebook ipynb文件转化为Python脚本
  12. 2022Java微服务最全面试题集
  13. CCS中CMD文件详解
  14. redhat 8常用命令实践
  15. 1999年冬发出第一个论坛帖,弹指二十年后,他们遇见了AI
  16. android提示“SIM not provisioned”
  17. Pandas中DataFrame基本函数整理(全)
  18. VUE3祖孙组件传值调用方法
  19. android 查看文件夹大小 删除文件,Android Base64编码保存本地。查询文件夹大小以及删除...
  20. 【BZOJ3252】攻略 DFS序+线段树(模拟费用流)

热门文章

  1. 数据是如何被保护的?高质量存储告诉你
  2. 40年技术发展变革,物联网行业的趋势、现状与挑战
  3. “不服跑个分?” 是噱头还是实力?
  4. 汽车产业云上多地域高可用消息系统构建
  5. 如何通过Dataphin构建数据中台新增100万用户?
  6. NLP的ImageNet时代已经到来
  7. 横跨2017-2018,云效Work Like Alibaba系列直播第五期盛大开启
  8. 之前写的 JSX 的条件语句竟然存在那么多 Bug?
  9. FBEC2021暨第六届金陀螺奖颁奖典礼盛大开幕
  10. 发掘 CPU 与超级工厂的共性,程序员的心思你别猜