python学习笔记 高阶函数map/reduce
来源:互联网 发布:英国域名后缀 编辑:程序博客网 时间:2024/05/21 14:05
传入函数
既然变量可以指向函数,函数的参数能接收变量,那么一个函数就可以接收另一个函数作为参数,这种函数就称之为高阶函数。
一个最简单的高阶函数:
def add(x, y, f): return f(x) + f(y)
当我们调用add(-5, 6, abs)
时,参数x
,y
和f
分别接收-5
,6
和abs
map()
>>> def f(x):... return x * x...>>> map(f, [1, 2, 3, 4, 5, 6, 7, 8, 9])[1, 4, 9, 16, 25, 36, 49, 64, 81]
把这个list所有数字转为字符串:
>>> map(str, [1, 2, 3, 4, 5, 6, 7, 8, 9])['1', '2', '3', '4', '5', '6', '7', '8', '9']
reduce()
reduce把一个函数作用在一个序列[x1, x2, x3...]上,这个函数必须接收两个参数,reduce把结果继续和序列的下一个元素做累积计算,其效果就是:
reduce(f, [x1, x2, x3, x4]) = f(f(f(x1, x2), x3), x4)
如果要把序列[1, 3, 5, 7, 9]
变换成整数13579,reduce就可以派上用场:
>>> def fn(x, y):... return x * 10 + y...>>> reduce(fn, [1, 3, 5, 7, 9])13579
出把str
转换为int
的函数:
>>> def fn(x, y):... return x * 10 + y...>>> def char2num(s):... return {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9}[s]...>>> reduce(fn, map(char2num, '13579'))13579
0 0
- python学习笔记 高阶函数map/reduce
- 【Python学习笔记】函数式编程:高阶函数map和reduce
- Python学习2--高阶函数map、reduce、filter、sorted
- python学习 高阶函数/map()/reduce()/filter()/sorted()
- Python学习-高阶函数Map/reduce/filter/sorted
- 【Python】学习笔记——-5.1.1、高阶函数之map/reduce
- JavaScript学习笔记十一:高阶函数-map/reduce
- 【python】高阶函数 map reduce
- Python 高阶函数 : map( ) ; reduce( )
- Python高阶函数-map和reduce
- Python 高阶函数 map/reduce应用
- python 高阶函数 map/reduce/filter/
- Python基础-高阶函数-Map-Reduce
- Python教程学习简记8--Python 高阶函数 map/reduce filter sorted
- Python学习笔记 - map reduce
- python学习(9)高阶函数map、reduce、filter、sorted
- python中的高阶函数map(),reduce(),filter()的区别
- Python高阶函数:filter、map、reduce、lambda
- 倍福PLC笔记
- 异常处理
- PhotoView使用步骤
- Linux下的C语言编程——10进制转换成任意进制的字符串
- 欢迎使用CSDN-markdown编辑器
- python学习笔记 高阶函数map/reduce
- 表的增删改
- 数据结构实验之串一:KMP简单应用
- Android群英传--动画机制与技巧(二)
- logit和logistic模型
- Android - Attr、Style、Theme浅析
- python使用pip安装模块的时候出现ascii错误
- 【CodeForces】444A - DZY Loves Physics(图论规律)
- Docker学习笔记(3)-- 如何使用Dockerfile构建镜像