高阶函数:把函数当成参数传递的一种函数,例如
defadd(x,y,f):return f(x) +f(y)print(add(-8,11,abs))
运行结果:
19
注:
1、 调用add函数,分别执行abs(-8)和abc(11),并分别计算他们的值
2、最后做运算
map()函数
map()函数是python内置的一个高级函数,它接受一个函数f和一个list,并把list的元素以此传递给函数f,然后返回一个函数f处理完所有list元素的列表。例如
deff2(x):return x*x
l= [1,2,3,4,5]print(map(f2,l))
运行结果:
[1, 4, 9, 16, 25]
注:1、l是一个list,把此list的元素传入函数f2,求每个元素的平方
2、 把最终所有的计算结果合并成一个list。
reduce()函数
reduce()函数也是一个内置高阶函数,reduce()函数接收的参数和map()类似,一个函数f,一个list,和map()不同,reduce()传入的函数f必须接收2个参数,第一次调用是把list的前2个元素传递给f,第二次调用时,把两个list元素的计算结果当成一个参数,list的第三个元素当成第二个参数,传入f进行操作,以后一次类推,并返回最终结果。
deff(x,y):return x +yprint(reduce(f,[1,2,3,4,5],10))
运行结果