Python中常见的高阶函数包括:
map()
将函数应用到序列的每一个元素,并返回新的map对象。
## python www.itzhimei.com 代码
def add(x):
return x + 1
map(add, [1, 2, 3]) # 返回map对象: {2, 3, 4}filter()
根据函数过滤序列,保留返回True的元素。
## python www.itzhimei.com 代码
def is_even(x):
return x % 2 == 0
filter(is_even, [1, 2, 3, 4]) # 返回filter对象:{2, 4}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
sorted()
排序序列,key参数指定排序规则。
## python www.itzhimei.com 代码 sorted([4, 1, 5], key=abs, reverse=True) # [5, 4, 1]
any()/all()
判断序列元素是否全部或任一为True。
## python www.itzhimei.com 代码 any([False, True, False]) # True,存在一个True all([True, True, False]) # False,不是全部True
高阶函数可以抽象通用的运算模式,非常实用。