函数式编程
参考Python学习shouce / 廖雪峰的Python教程
- map()
- filter()
- reduce()
1、map()
map()函数接受两个参数,一个是函数另外一个是迭代对象
|
|
这里可以用lambda表达式来表示, lambda表达式由关键字lambda和参数x组成,也称作匿名函数
|
|
2、filter()
filter()函数也接受两个参数,一个函数,一个序列
|
|
reduce()
reduce把一个函数作用在一个序列[x1, x2, x3, …]上,这个函数必须接收两个参数,reduce把结果继续和序列的下一个元素做累积计算
reduce(f, [x1, x2, x3, x4]) = f(f(f(x1, x2), x3), x4)
如下代码计算过程:
x y : 12—-> 2 3——> 6 4 ——-> 24
x + y: 1 + 2——> 3 + 3 ——> 6 + 4——–> 10
|
|