博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
day11 reduce函数
阅读量:6542 次
发布时间:2019-06-24

本文共 1284 字,大约阅读时间需要 4 分钟。

场景模拟:   序列元素在原有基础上加1 常规方法   简单但扩展性查
1 num1 = [1,2,3,4,5,6,7,8,9,100]2 res    = 03 for i in num1:4     res += i5 print(res)

函数方法  扩展性好,代码多
1 num1 = [1,2,3,4,5,6,7,8,9,100]2 def    reduce_test(array):3     res = 04     for i in array:5         res += i6     return res7 print(reduce_test(num1))

 

reduce 函数   场景模拟 :序列内的所有元素相乘   内部原理,参数两个,方法以及预处理参数
1 num1 = [1,2,3,4,5,6,7,8,9,100] 2 # def multi(x,y): 3 #     return x*y 4 # lambda x,y:x*y 5 def    reduce_test(func,array): 6     res = array.pop(0) 7     for i in array: 8         res = func(res,i) 9     return res10 print(reduce_test(lambda x,y:x*y,num1))

 

reduce函数支持初始值   场景模拟 :序列内的所有元素相乘,并附加一个初始值一起相乘操作   代入初始值后的原理
1 num1 = [1,2,3,4,5,6,7,8,9,100] 2 # def multi(x,y):    # 依旧是运算方法简单的话可以用匿名函数替换 3 #     return x*y 4 # lambda x,y:x*y 5 def    reduce_test(func,array,init=None): # 在参数中加入了初始值 6     if    init is None: 7         res = array.pop(0) 8     else: 9         res=init10     for i in array:11         res = func(res,i)12     return res13 print(reduce_test(lambda x,y:x*y,num1,10000))

 

reduce 函数   在Python3中,reduce()函数已经被从全局名字空间里移除了,   放置在fucntools模块里,通过引入functools模块来调用
1 from functools import reduce2 num1 = [1,2,3,4,5,6,7,8,9,100]3 print(reduce(lambda x,y:x*y,num1,10))

 

 

 

  

  

转载于:https://www.cnblogs.com/shijieli/p/9698195.html

你可能感兴趣的文章
【喜报】HCIE--PASS !最可怕的敌人,就是没有坚强的信念!
查看>>
2019年人工智能行业又进入冬天了吗?
查看>>
想学前端,为什么不看这些书呢?
查看>>
记一次mapreduce读取不到输入文件的问题
查看>>
我的友情链接
查看>>
MariaDB集群Galera Cluster的研究与测试
查看>>
SONY控制键盘JX-11,EVI-D70P控制方案
查看>>
项目经理必备 - 项目绩效测量工具EVM详解(上)
查看>>
Spring AOP 之二:Pointcut注解表达式
查看>>
在普通台式机上搭建服务器虚拟化架构Esxi平台
查看>>
电话线路 30B+D 名词解释
查看>>
python字典嵌套字典实例
查看>>
吉炬消费系统软件输入密码后无法打开软件界面故障处理
查看>>
Hibernate学习系列————注解一对多双向实例
查看>>
Cannot load from mysql.proc
查看>>
网络运维之 EX4200消除var分区使用过高的告警
查看>>
【最好的流程是没有流程】
查看>>
Apache Thrift 教程
查看>>
Python Epoll
查看>>
AS3歌词同步详解
查看>>