python中的高阶函数

1.定义

高阶函数的实参是一个函数,返回值也是一个函数;

函数本身也是可以赋值给变量的,变量可以指向函数;

python中的高阶函数

2.内置高阶函数map

map():接收两个参数 一个是函数 一个是序列

map将传入的函数依次作用到序列的每个元素 并且把结果作为新的序列返回

1.对一个序列[-1,3,-4,-5]的每一个元素求绝对值

python中的高阶函数


2.对序列的每个元素求阶乘

python中的高阶函数
 

3.内置高阶函数reduce

reduce():把一个函数作用在一个序列上,

这个函数必须接收两个参数 reduce把结果继续和序列的下一个元素做累积计算

另外要注意:

python2中  reduce是内置函数

python3中要添加  from functools import reduce

python中的高阶函数

4.内置高阶函数filter

filter过滤函数 和map()类似的,也接收一个函数和一个序列

但是和map()不同的是 filter()把传入的函数依次作用于 序列的每个元素

然后根据返回值是True或者False决定保留还是丢弃该元素

找出100以内的偶数

python中的高阶函数

5.匿名函数

匿名函数的关键字 lambda

冒号前面是 形参 冒号后面是返回值

python中的高阶函数

6.内置高阶函数sort

python中的高阶函数

python中的高阶函数

按照不同的要求排序:

python中的高阶函数

7.高阶函数练习

要求:

将一个字符串转换成整型

'12345'---12345

'0':0

'1':1

'2':2

...

'9':9

代码:

python中的高阶函数

结果:

python中的高阶函数