python3中内建函数map()与reduce()

map()的使用

   map()的使用方法形如map(f(x),Itera).对,它有两个参数,第一个参数为某个函数,第二个为可迭代对象。如果不懂什么是函数,不懂什么是可迭代对象没关系,记住下面的例子就可以了:

1 >>> def g(x):
2     return 3 * x
3 
4 >>> l=map(g,[1,3,4,5,7,10])
5 >>> list(l)
6 [3, 9, 12, 15, 21, 30]

       定义的g(x)就是作为map()第一个参数,它的作用是取参数X的三倍。

       [1,3,4,5,7,10]列表作为g(x)的第二个参数,它是一个列表。没错,列表是一个可迭代对象,当然可迭代对象不仅仅有列表,其他的可以慢慢学习。调用map函数后,g(x)将会作用到列表的每个元素,我们来看看作用后的效果:

>>> list(l) 
[3, 9, 12, 15, 21, 30]

reduce()的使用
  reduce()的使用方法形如reduce(f(x),Itera).对,它的形式和map()函数一样。不过参数f(x)必须有两个参数。reduce()函数作用是:把结果继续和序列的下一个元素做累积计算。废话不多说,请看实例:
>>> from functools import reduce
>>> def add(x,y): #定义一个相加函数
        return x+y

>>> reduce(add,[1,2,3,4,6])
16

猜你喜欢

转载自blog.csdn.net/qq_34706955/article/details/81288100