所谓高阶函数就是一个函数可以用来接收另一个函数作为参数,这样的函数叫做高阶函数。下面介绍几个比较常用的高阶函数
1.map
l = [1, 2, 3, 4]
def cube(i):
return i**3
l1 = map(cube,l)
print(list(l1))# 输出结果 [1, 8, 27, 64]
l1 = map(lambda i:pow(i, 3), l)
print(list(l1)) # 输出结果 [1, 8, 27, 64]
2.filter
def even(i):
if i % 2 == 1:
return True
l1= filter(even,l)
print(list(l1))
l1 = filter(lambda i:i%2==0,l)
print(list(l1))
3.reduce
from functools import reduce
def addList(x, y):
return x+y
l2 = reduce(addList,l)
print(l2)
l2 = reduce(lambda x,y:x+y,l)
print(l2)