您的位置:首页 > 编程语言 > Python开发

Python学习(三)——map和reduce函数

2017-01-12 15:22 369 查看
      python内建了map和reduce函数。

    先来看看map函数。map函数接收两个参数,第一个参数是函数,第二个函数是序列。map将传入的函数依次作用到序列的每个元素上,并把结果作为新的list返回。

    比如,定义一个函数f(x) = x*x,要把这个函数作用到序列[1,2,3,4,5,6,7,8,9]上,就可以用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]
    map传入的第一个参数是f,即函数对象本身。

    再来看reduce函数。reduce把一个函数作用到一个序列上,这个函数必须接受两个参数。reduce把结果继续和序列的下一个做累积运算,效果如下:

reduce(f, [x1, x2, x3, x4]) = f(f(f(x1, x2), x3), x4)    比如对一个序列求和,可以如下操作:
>>> def add(a,b):
return a + b

>>> reduce(add,[1,2,3,4])
10    又例如把序列[1,2,3,4]办成整数1234,页可以用reduce实现:
>>> def fn(a,b):
return a*10 +b

>>> reduce(fn,[1,2,3,4])
1234
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: