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

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

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

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

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

 

  

  

day11 reduce函数的更多相关文章

  1. Python day11 filter函数筛选数据,reduce函数压缩数据的源码详解

    1.filter滤波器函数定义一个数组,需求:过滤出带ii的字符串 arr=['dsdsdii','qqwe','pppdiimmm','sdsa','sshucsii','iisdsa'] def ...

  2. reduce() 函数

    reduce()函数 reduce()函数也是Python内置的一个高阶函数.reduce()函数接收的参数和 map()类似,一个函数 f,一个list,但行为和 map()不同,reduce()传 ...

  3. python reduce()函数

    reduce()函数 reduce()函数也是Python内置的一个高阶函数.reduce()函数接收的参数和 map()类似,一个函数 f,一个list,但行为和 map()不同,reduce()传 ...

  4. Python的map、filter、reduce函数 [转]

    1. map函数func作用于给定序列的每个元素,并用一个列表来提供返回值. map函数python实现代码: def map(func,seq): mapped_seq = []        fo ...

  5. Python中的map()函数和reduce()函数的用法

    Python中的map()函数和reduce()函数的用法 这篇文章主要介绍了Python中的map()函数和reduce()函数的用法,代码基于Python2.x版本,需要的朋友可以参考下   Py ...

  6. MapReduce的reduce函数里的key用的是同一个引用

    最近写MapReduce程序,出现了这么一个问题,程序代码如下: package demo; import java.io.IOException; import java.util.HashMap; ...

  7. python的reduce()函数

    reduce()函数也是Python内置的一个高阶函数. reduce()函数接收的参数和 map()类似,一个函数 f,一个list,但行为和 map()不同,reduce()传入的函数 f 必须接 ...

  8. Python lambda和reduce函数

    看到一篇博文写lambda和reduce函数.笔者小痒了一下,用Python实现一下: #! /usr/bin/env python # -*-coding:utf-8-*- import time ...

  9. python中的map、filter、reduce函数

    三个函数比较类似,都是应用于序列的内置函数.常见的序列包括list.tuple.str.   1.map函数 map函数会根据提供的函数对指定序列做映射. map函数的定义: map(function ...

随机推荐

  1. 【vue】chrome已安装Vue Devtools在控制台却无显示

    chrome已安装Vue Devtools在控制台却无显示的解决: 在点亮Vue Devtools图标后,控制台没有vue解读显示. 原因:脚手架配置NODE_ENV直接定义为了production版 ...

  2. 10个Chrome基础使用技巧

    Chrome是前端开发中最常用到的一个浏览器,本文整理了Chrome的10个基础使用技巧(Chrome中有很多和Sublime Text2类似的快捷键).如果有其它本文未提及的实用的小技巧,也可以留言 ...

  3. mysql大数据量下的分页

    mysql大数据量使用limit分页,随着页码的增大,查询效率越低下. 测试实验 1.   直接用limit start, count分页语句, 也是我程序中用的方法: select * from p ...

  4. 小白学Docker之基础篇

    系列文章: 小白学Docker之基础篇 小白学Docker之Compose 小白学Docker之Swarm PS: 以下是个人作为新手小白学习docker的笔记总结 1. docker是什么 百科上的 ...

  5. python2.6升级到3.3.0 以及依赖库在迁移时的处理

    线上服务器python版本默认是2.6,由于业务程序要求,需要将python升级到3.3.0, 操作记录如下: Cenots6.8默认安装的是2.6版本,要更新升级需安装下gcc: [root@ope ...

  6. linux内实践核分析模块

  7. 软件工程APP进度更新

    对原有的界面进行了美化,同时加进了背景音乐,并且优化了算法部分的代码 正在一步一步跟进中 顺带附上上一次组员帮我发的进度地址:http://www.cnblogs.com/case1/p/498192 ...

  8. Magazine Ad CodeForces - 803D (二分+贪心)

    The main city magazine offers its readers an opportunity to publish their ads. The format of the ad ...

  9. vue 项目引入字体报错

    vue 项目引入特殊字体,总是提示有问题 原因是,在webpack 里面的配置有问题 在项目文件里面引入字体的时候,应该写url-loader 而不能是url

  10. JSP中properties文件的路径问题

    做练习的时候,写了个properties文件,放在src/servlet/目录下,访问文件问题花了点时间折腾,最终得到解决,记下. 环境:eclipse jee oxygen,tomcat 9.0. ...