python六十一课——高阶函数之reduce
Python 函数 高阶 reduce
2023-09-11 14:21:24 时间
2).reduce(fn,lsd):
参数一:fn --> 函数对象
参数二:lsd --> 序列对象
功能:
先将lsd中的第一和第二个元素去除传入到fn中参与运算,
运算后得到结果,再和第三个元素传入到fn中参与运算,
以此类推...
【注意】:
reduce函数属于functools模块中的函数,所以需要显示的先导入functools模块再使用 `from functools import reduce`
from functools import reduce lt=[1,2,3,4] ''' lt = [1,2,3,4] 自定义封装函数 --> add 作用:对列表中的元素求和 def add(x,y) 使用reduce函数执行效果如下: 第一次:add(1,2) 第二次:add(add(1,2),3) 第三次:add(add(add(1,2),3),4) ''' #需求:计算列表中元素的和值 lt=[1,2,3,4] #代码实现一:;递归解决求和的问题(简单递归) def mySum(num): if num==1: return 1 return num+mySum(num-1) print(mySum(4)) #代码实现二:新技术(reduce) def add(x,y): return x+y res=reduce(add,lt) print(res,type(res)) print(reduce(lambda x,y:x+y,lt)) print(sum(lt)) #需求:lt=[1,2,3,4]得到其中元素的乘积 print(reduce(lambda x,y:x*y,lt)) ''' 需求: 从键盘读入一个整数字符串,例如:'12345' 需要将其转换为12345,注意:不能直接使用int()来实现 思路:使用map和reduce配合来实现 步骤一:'12345' --> 拆分为散装数据:1 2 3 4 5 可以用map来实现 步骤二:将map对象中的数据1 2 3 4 5组合成为 --> 12345 可以用reduce来实现 ''' str1='12345' def chr2Int(str): return int(str) def func(x,y): return x*10+y mo=map(chr2Int,str1) num=reduce(func,mo) print(num,type(num)) #终极版 print(reduce(lambda x,y:x*10 + y,map(int,str1)))
返回目录
相关文章
- 【华为OD机试真题 python】工号不够用了怎么办? 【2022 Q4 | 100分】
- 【华为OD机试真题 python】寻找相同子串 【2022 Q4 | 100分】
- 2023版教你pycharm如何配置python环境
- python在es中scan()用法详解
- python 内置函数ord()和chr()函数用法详解
- python中sort()和sorted()排序函数用法详解
- 使用OpenCV-Python的函数minMaxLoc()应该注意的两点
- Python内置函数super()的作用详解【用最简单的例子把函数super()的作用和运行过程说清楚)】
- python 基本函数
- python接口自动化--Json 数据处理---一次爬坑记(详解)
- 从两个例子看 Python【map、reduce、filter】内置函数的使用
- 学习Python的第四节课(+基本语法和编码规范)
- python 利用matplotlib中imshow()函数绘图
- Python 核实文件是否存在的函数
- 【Python学习过程】关于入门Python初期接触到的函数
- python fullmatch函数
- (数据科学学习手札17)线性判别分析的原理简介&Python与R实现
- python之匿名函数lambda
- python六十四课——高阶函数练习题(三)
- python六十四课——高阶函数练习题(一)
- python第四十七课——类属性和函数属性
- 【图像处理】——图像质量评价指标信噪比(PSNR)和结构相似性(SSIM)(含原理和Python代码)
- Python每日一学 04——常用数学运算函数
- [Python] isinstance()函数