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:是函数,这里比较时候用匿名函数;

原文地址:https://www.cnblogs.com/awenxianliao/p/7776388.html