我们用python是为了让操作变得简单,在reduce函数中这点也得到了很好的体现,首先从字面上来看,reduce就是减少的意思。不过对比前面我们所讲的map同样是针对于列表的操作,使用上有所差别。我们可以把reduce想象成加工一个物品之后进行传递,然后再次加工,根据需求不断往下进行。下面带来python3代码展现reduce传递参数的过程。
reduce相比map稍复杂点
reduce的工作过程是 :在迭代序列的过程中,首先把前两个元素(只能两个)传给函数,函数加工后,然后把 得到的结果和第三个元素 作为两个参数传给函数参数, 函数加工后得到的结果又和第四个元素 作为两个参数传给函数参数,依次类推。
在 Python3 中,reduce() 函数已经被从全局名字空间里移除了,它现在被放置在 functools 模块里,如果想要使用它,则需要通过引入 functools 模块来调用 reduce() 函数。
1
2
3
4
from functools import reduce
L = [1,2,3,4,5]
sum_results = reduce(lambda x,y: x + y, L)
print(sum_results)
示例结果:
15
上例即我们通过reduce高阶函数完成了对列表中五个数的累加过程。
根据reduce传递参数的图片,我们可以很好的理解整个函数进行传递操作。在代码的调用方面,去 functools 模块寻找就可以了。
如今python编程语言市场需求大,薪资待遇上万尽在咫尺!如果你也想学习python技术可以填写下面表单,Python学习资料限时免费领取!
一级建造师二级建造师消防工程师造价工程师土建职称房地产经纪人公路检测工程师建筑八大员注册建筑师二级造价师监理工程师咨询工程师房地产估价师 城乡规划师结构工程师岩土工程师安全工程师设备监理师环境影响评价土地登记代理公路造价师公路监理师化工工程师暖通工程师给排水工程师计量工程师
执业药师执业医师卫生资格考试卫生高级职称护士资格证初级护师主管护师住院医师临床执业医师临床助理医师中医执业医师中医助理医师中西医医师中西医助理口腔执业医师口腔助理医师公共卫生医师公卫助理医师实践技能内科主治医师外科主治医师中医内科主治儿科主治医师妇产科医师西药士/师中药士/师临床检验技师临床医学理论中医理论