python的高阶函数
使用场景- 函数式编程- 把函数当作参数- 自动化实现底层的遍历高阶函数 map# map ls [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] def add(ele): return ele 0.5 [add(ele) for ele in ls] list(map(add, ls))高阶函数 reduce# reduce from functools import reduce ls [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] # sum求和 sum(ls) # for循环求和 s 0 for ele in ls: s ele # reduce function 求和 def add(a, b): return a b reduce(add, ls) # reduce lambda 求和 reduce(lambda x, y : x y, ls) # reduce lambda 累积 reduce(lambda x, y : x * y, ls)高阶函数 filter# filter ls [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] # fiter lambada 求偶数 list(filter(lambda x : True if x % 2 0 else False, ls))高阶函数 sorted# sorted ls [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] ls.sort(reverseTrue) # sorted 数组排序 sorted(ls, reverseTrue) # sorted 元组 lambda 排序 ls [(2, 4), (1, 6), (5, 1), (3, 8)] sorted(ls, keylambda x:x[1], reverseTrue) # 结果 [(3, 8), (1, 6), (2, 4), (5, 1)]