Python--day11 函数2

来源:互联网 发布:一个暑假变漂亮知乎 编辑:程序博客网 时间:2024/06/17 23:44

1、高阶函数   就是把函数当成参数传递的一种函数:

def add(x,y,f):

    return f(x)+f(y)
print(add(-8,11,abs))
  • ###map()函数,第一个参数为自定义函数,第二个参数为可迭代对象lt = [1,2,3,4,5]def f2(x):    return x*xml = map(f2,lt)print(type(ml))print(list(ml))


  • ###reduce()函数#传入的函数必须接受两个参数,#把可迭代对象的两个参数作为函数的实参,传入到f函数中,#把每次f运算的结果作为第一个实参,可迭代对象额下个元素作为另外一个实参,传入函数f中#以此类推,最终得到结果,def f(x,y):    return x + yprint(reduce(f,[1,2,3,4,5], 10 ))


  • #filter函数#函数会每次把可迭代对象的元素传入进去,如果返回为true,则保留该元素,如果返回为false,则不保留该函数a = [1,2,3,4,5]def is_odd(x):    return x%2 == 1print(list(filter(is_odd,a)))


  • #sorted() 排序#对字典就行排序#sorted()mm = dict(a=2,c=1,b=3,d=4)print(mm)for i in mm:    print(i)for j in mm.items():    print(j)#print(mm)test = sorted(mm.items(),key=lambda d: d[1])# test = sorted(mm.items(),key =  reverse=False)print(test)


2、匿名函数

#正常函数表示def sum(x,y):    return x+y#匿名函数表示m = lambda x, y: x+yprint(m(4,5))