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
高阶函数可以抽象通用的运算模式,非常实用。