2017.10.1学习(1)
来源:互联网 发布:php 统计文章浏览次数 编辑:程序博客网 时间:2024/06/06 17:42
python的reduce()函数
reduce()函数也是Python内置的一个高阶函数。
reduce()函数接收的参数和 map()类似,一个函数 f,一个list,但行为和 map()不同,reduce()传入的函数 f 必须接收两个参数,reduce()对list的每个元素反复调用函数f,并返回最终结果值。
例如,编写一个f函数,接收x和y,返回x和y的和:
1
2
def f(x, y):
return x + y
调用 reduce(f, [1, 3, 5, 7, 9])时,reduce函数将做如下计算:
1
2
3
4
5
先计算头两个元素:f(1, 3),结果为4;
再把结果和第3个元素计算:f(4, 5),结果为9;
再把结果和第4个元素计算:f(9, 7),结果为16;
再把结果和第5个元素计算:f(16, 9),结果为25;
由于没有更多的元素了,计算结束,返回结果25。
上述计算实际上是对 list 的所有元素求和。虽然Python内置了求和函数sum(),但是,利用reduce()求和也很简单。
reduce()还可以接收第3个可选参数,作为计算的初始值。如果把初始值设为100,计算:
1
reduce(f, [1, 3, 5, 7, 9], 100)
结果将变为125,因为第一轮计算是:
计算初始值和第一个元素:f(100, 1),结果为101。
阅读全文
0 0
- 字符串学习学习(1)
- 2017.10.1学习(1)
- 学习总结:机器学习(1)学习资料汇总
- 【Android学习笔记】Service学习(1)
- Android 4学习(1):学习路线图
- [学习记录]Kepware学习记录(1)
- Weka学习 -- StringToWordVector 源码学习(1)
- (1)ok6410学习之makefile学习
- sql学习笔记(1)-------------学习基础
- 周志华 机器学习 学习笔记 (1)
- 集成学习学习笔记(1)
- Clojure 学习入门(1) - 学习资料
- 机器学习-(1):监督学习
- 学习路径之机器学习(1)
- Linux学习路程(1) 学习目的
- 2017.10.16以前的学习(1)
- 学习vc++(1)
- 学习过程(1)
- 树的前,中,后 序遍历
- 第2章-从头开始:自然数 2.2-加法
- BootStrap table 数据填充与分页应用总结
- Linux服务器性能出问题,排查这些参数指标
- 多进程 队列 实现生产者消费者模型 python 笔记
- 2017.10.1学习(1)
- Java解析Json数据
- 搭建及使用K8s集群 <使用ingress 暴露springcloud服务>
- idea .java文件 右下角有个红色 j 的解决方法
- 简单的录音功能,通过图片切换实现声音大小的显示
- java 空指针异常
- 优秀工程师-UIScrollView UIPageControl
- 【坐在马桶上看算法】算法1 最快最简单的排序——桶排序
- 《高性能MySQL》读书笔记--Schema与数据类型优化