python函数(二)
1.高阶函数:就是把函数当成参数传递的一种函数,
def add(x,y,f):
return f(x) + f(y)
print(add(-8,11,abs))
map()函数:
map函数是python内置的一个高阶函数,它接受一个函数f和一个list,并把list
的元素以此传递给函数f,然后返回一个函数f处理完所有list元素的列表,
def f2(x):
return x*x
l = [1, 2, 3, 4, 5]
print (map(f2, l))
reduce()函数:
接收参数:一个函数f,一个list,
reduce()传入的函数f必须接收两个参数,
第一次调用是把list的前两个元素传递给f,
第二次调用时,就是把前两个list元素的计算结果
当成第一个参数,list的第三个元素当成第二个参数,
以此类推;
filter()函数
接收一个函数f和一个list,这个函数f的作用是对
每个元素进行判断,返回True或False,
filter()返回符号条件元素组成的新list.
def id_odd(x):
return x%2 == 1
print(filter(id_odd,[1,2,3,4,5,6]))
2.匿名函数
lambda函数是一种快速定义单行的最小函数,可以用在
任何需要函数的地方;
def fun(x,y):
return x*y
lambda版本:
r=lambda x,y:x*y
print(r(2,3))
print(type(r))
sorted()高阶函数:
对字典进行排序
mm=dict(a=1,b=10,c=3,d=9)
for i in mm:
print i//打印出来的是键值
test=sorted(mm,reverse=false)
for key,value in mm.iteritems:
print(key,value)
test=sorted(mm.iteritems,key=lambda d:d[1],reverse=false)
key:是函数,这里比较时候用匿名函数;