Python reduce 函数 - Python零基础入门教程
目录
- 一.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'>
'''
三.猜你喜欢
- Python 条件推导式
- Python 列表推导式
- Python 字典推导式
- Python 不定长参数 *argc/**kargcs
- Python 匿名函数 lambda
- Python return 逻辑判断表达式
- Python is 和 == 区别
- Python 可变数据类型和不可变数据类型
- Python 浅拷贝和深拷贝
- Python 异常处理
- Python 线程创建和传参
- Python 线程互斥锁 Lock
- Python 线程时间 Event
- Python 线程条件变量 Condition
- Python 线程定时器 Timer
- Python 线程信号量 Semaphore
- Python 线程障碍对象 Barrier
- Python 线程队列 Queue – FIFO
- Python 线程队列 LifoQueue – LIFO
- Python 线程优先队列 PriorityQueue
- Python 线程池 ThreadPoolExecutor(一)
- Python 线程池 ThreadPoolExecutor(二)
- Python 进程 Process 模块
- Python 进程 Process 与线程 threading 区别
- Python 进程间通信 Queue / Pipe
- Python 进程池 multiprocessing.Pool
- Python GIL 锁
未经允许不得转载:猿说编程 » Python reduce 函数
Python reduce 函数 - Python零基础入门教程相关推荐
- Python return逻辑判断表达式 - 零基础入门教程
目录 一.return 逻辑判断表达式 and 二.return 逻辑判断表达式 or 三.return 逻辑判断表达式 and 和 or 配合使用 四.return 逻辑判断表达式重点总结 五.猜你 ...
- python怎么输出浮点数_python 零基础入门教程第 2 章:基本数据类型 (一)
一.什么是数据类型 编程语言通过一些复杂的计算机物理底层机制,创造不同类型的数据,用来表示现实世界中的不同信息,以便于计算机更好的存储和计算. 每种编程语言都会有一些基本的数据类型用来表示现实世界中的 ...
- 视频教程-Python零基础入门教程-Python
Python零基础入门教程 从2012年从事互联网至今有7年软件编程经验,曾任职国内北京互联网公司,中南林业大学授课Python 现任逻辑教育Python课程负责人,精通Python语言,精通人工智能 ...
- Python零基础入门教程( 快速入门)
前言 学无止境,无止境学. 今天要给大家分享的是<Python零基础入门教程01 快速入门>,这是一个系列的教程,从零基础到项目实战.在本教程中,我会给大家介绍Python入门的一些基础知 ...
- Python 3.X 完全零基础入门精讲 全套视频教程
简介 零基础小白快速学程序员大爱语言――Python,易学易用易就业!!! 目标人群:熟悉电脑基本操作,编程零基础或已具备Python或其它编程语言的人群. 课程目标:绝对零基础Python3.x 入 ...
- python是什么软件-零基础入门Python怎么学习?老男孩python用什么软件
在培训学习Python时,怎么才能学好Python?随着Python技术的发展,越来越多的人开始学习Python编程语言,那么零基础入门Python该怎么学习? 1.要养成良好的代码编写习惯,注重细节 ...
- C语言 const 修饰函数参数 - C语言零基础入门教程
C语言 const 修饰函数参数 - C语言零基础入门教程 目录 一.const 简介 1.const 修饰变量 2.const 修饰指针 3.const 修饰在函数名前面 4.const 修饰在函数 ...
- 视频教程-ARDUINO零基础入门教程【代码编程篇】-Arduino
ARDUINO零基础入门教程[代码编程篇] 精通各种单片机编程,有十年以上ARDUINO,51单片机/STM32/PIC/AVR编程,硬件设计,绘图,编程经验.熟悉各种常用传感器使用和物联网通讯 赵勇 ...
- C++零基础入门教程:基础篇(一)
前言 嘿嘿,我叕来啦─=≡Σ(((つ•̀ω•́)つ!别问我为什么突然变成了零基础入门教程(一),因为前面那三篇都是基础的不能在基础的教程了.(其实是因为顺序乱了,而且那时候没有单独弄一个专栏,后面我会 ...
- SEO零基础入门教程(外链的发布和软文编写)
seo的作用是众所周知的,对网站进行seo优化,可以给网站带来大量的搜索引擎流量.但是想要做好网站优化也有难度,尤其是对于seo新手来说,因为缺乏理论和实战,所以seo新手需要多加练习.那么具体seo ...
最新文章
- 剑指offer:面试题13. 机器人的运动范围
- Linux系统挂载ntfs分区
- 活跃用户数怎么计算_不懂LTV,怎么做用户增长?详解用户生命周期价值计算方法...
- Vue.js 笔记之 img src
- RuntimeError 之 : CUDA error: device-side assert triggered
- Exp3 免杀原理与实践
- XidianOJ 1090 爬树的V8
- ubuntu 64 12.04 oracle,Ubuntu 12.04 (amd64)安装Oracle 11g 总结
- 异常检测-基于孤立森林算法Isolation-based Anomaly Detection-1-论文学习
- windows mobile设置插移动卡没反应_u盘插入电脑没反应怎么办 u盘插入电脑没反应解决方法【详解】...
- Ipython Notebook ipynb文件转化为Python脚本
- 2022Java微服务最全面试题集
- CCS中CMD文件详解
- redhat 8常用命令实践
- 1999年冬发出第一个论坛帖,弹指二十年后,他们遇见了AI
- android提示“SIM not provisioned”
- Pandas中DataFrame基本函数整理(全)
- VUE3祖孙组件传值调用方法
- android 查看文件夹大小 删除文件,Android Base64编码保存本地。查询文件夹大小以及删除...
- 【BZOJ3252】攻略 DFS序+线段树(模拟费用流)