【Python】Python中的高阶函数有哪些?

Python中常见的高阶函数包括:

  1. map()
    将函数应用到序列的每一个元素,并返回新的map对象。
## python www.itzhimei.com 代码
def add(x):
    return x + 1

map(add, [1, 2, 3]) # 返回map对象: {2, 3, 4}
  1. filter()
    根据函数过滤序列,保留返回True的元素。
## python www.itzhimei.com 代码
def is_even(x):
    return x % 2 == 0

filter(is_even, [1, 2, 3, 4]) # 返回filter对象:{2, 4}
  1. reduce()
    依次将序列元素作为参数传给函数,然后返回 accumulation的结果。
## python www.itzhimei.com 代码
from functools import reduce

def add(x, y):
    return x + y

reduce(add, [1, 2, 3, 4]) # 计算1+2+3+4,返回10
  1. sorted()
    排序序列,key参数指定排序规则。
## python www.itzhimei.com 代码
sorted([4, 1, 5], key=abs, reverse=True) # [5, 4, 1]
  1. any()/all()
    判断序列元素是否全部或任一为True。
## python www.itzhimei.com 代码
any([False, True, False]) # True,存在一个True
all([True, True, False]) # False,不是全部True

高阶函数可以抽象通用的运算模式,非常实用。