python函数式编程-map/reduce

map()函数接收两个参数,一个是函数,一个是Iterator,map将传入的函数依次作用到序列的每个元素,并把结果作为新的Iterator返回。

>>> def f (x):

...    return x * x

... >>> r = map(f,[1,2,3,4,5,6,7])

>>> r

>>> list(r)

[1, 4, 9, 16, 25, 36, 49]


>>> from functools import reduce

>>> def add(x,y):

...    return x + y

...

>>> reduce(add,[1,3,5,7,9])

25

如果要只是求和的话,可以使用map函数,

>>> sum([1,2,3,4,5])

15


>>> from functools import reduce

>>> def fn(x,y):

...    return 10*x + y

...

>>> reduce(fn,[1,2,3,4])

1234

>>> reduce(fn,[1,3,5,7])

1357

>>>

你可能感兴趣的:(python函数式编程-map/reduce)