Python 高阶函数 : map( ) ; reduce( )

时间:2021-08-12 18:47:23

Python 高阶函数 : map( ) ; reduce( )


本文中所有代码均在IDLE中实现
如果你有任何意见或者建议,希望你能写在评论区


map( )


map(A,B)接收两个参数,参数A是一个函数(相当于一个运算法则),参数B是一个序列(一组数据)。map( )会将参数B中的所有数据均传到参数A中,并将结果以list形式返回

>>> def test(arg):     ##定义函数,作为map(A,B) 的参数A之用
return arg*arg
>>> A = test
>>> B = [1,2,3,4,5] ##定义list,作为map(A,B)的参数B之用

----------
>>> map(A,B)
[1, 4, 9, 16, 25]

map( )可以做的事情还有很多,比如将一个list内的int类型数据,转化为str类型

>>> map(str,[1,2,3,4,5]) ##str( )  是Python内置函数
['1', '2', '3', '4', '5']

reduce()


reduce(A,B) 参数A是一个函数(相当于一个运算法则,,这个函数必须接受两个变量),参数B一个序列(一组数据)把一个函数作用在一个序列[x1, x2, x3…]上,这个函数必须接收两个参数,reduce把结果继续和序列的下一个元素做累积计算
效果如下:
**reduce(f,[x1,x2,x3,x4]) = f( f( f(x1,x2) ,x3) ,x4)
简单讲就是,把序列中的每一个数据依次与上个运算的结果再次进行计算。(说的好像很复杂,,never mind..)
**