Python 高阶函数
可以用来接收另一个函数作为参数的函数叫做高阶函数。
如下f
有一个参数g
,而g
又是函数,所以f
是高阶函数:
def f(g):
g()
Python 中经常会遇到高阶函数,今天介绍几个内置的常用的高阶函数。
map
map 函数第一个参数为函数,它作用于列表中每个的元素。
如下,列表中的单词未按照首字母大写其他字符小写的规则,使用map
一一capitalize
每个元素:
m = map(lambda s: s.capitalize(), ['python','Very','BEAUTIFUL'])
print(list(m))
结果:
['Python', 'Very', 'Beautiful']
reduce
reduce 高阶函数实现化简列表,它实现的效果如下:
如下例子,函数f
等于x+y
,求得两数之和,然后再与第三个数相加,依次下去,直到列表尾部,进而得到整个列表的和:
from functools import reduce
def f(x,y):
return x+y
r = reduce(f, [1,3,2,4])
print(r) # 10
以上reduce
求解过程等于:
需要注意:reduce
函数要求f
必须带2个参数,只有这样才能完成归约化简。
今天主要总结什么是高阶函数,以及常见的两个内置高阶函数。
原创不易,欢迎点赞支持