python|函数式编程示例

2018-03-01  本文已影响0人  petemper

In [5]:

#abs函数名可以看做一个变量!

x=abs(-10)

In [6]:

print x

10

In [7]:

#变量赋值为函数,就有了函数的功能

f=absprintf(-10)

10

In [8]:

#高阶函数:一个函数接受另一个函数作为参数

def add(x,y,f):

    returnf(x)+f(y)print(add(-5,6,abs))

11

In [12]:

#map:传入函数和iterble的对象。将函数依次作用到每个元素

def f2(x):

    return x*x

lst=[1,2,3,4,5,6]

r=map(f2,lst)

print r

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

In [14]:

#reduce:传入函数和iterble的对象。reduce把一个函数作用在一个序列[x1, x2, x3, ...]上,

#这个函数必须接收两个参数,reduce把结果继续和序列的下一个元素做累积计算,其效果就是:

#reduce(f, [x1, x2, x3, x4]) = f(f(f(x1, x2), x3), x4)

from functools import reduce

def fn(x,y):

    return x*10+y

res=reduce(fn,lst)

print res

123456

In [15]:

#filter

def is_odd(n):

    return n%2==1

fres=filter(is_odd,[1,2,3,4,5])

print fres

[1, 3, 5]

In [ ]:

上一篇下一篇

猜你喜欢

热点阅读