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 [ ]:
网友评论