python中的高阶函数
1.定义
高阶函数的实参是一个函数,返回值也是一个函数;
函数本身也是可以赋值给变量的,变量可以指向函数;
2.内置高阶函数map
map():接收两个参数 一个是函数 一个是序列
map将传入的函数依次作用到序列的每个元素 并且把结果作为新的序列返回
1.对一个序列[-1,3,-4,-5]的每一个元素求绝对值
2.对序列的每个元素求阶乘
3.内置高阶函数reduce
reduce():把一个函数作用在一个序列上,
这个函数必须接收两个参数 reduce把结果继续和序列的下一个元素做累积计算
另外要注意:
python2中 reduce是内置函数
python3中要添加 from functools import reduce
4.内置高阶函数filter
filter过滤函数 和map()类似的,也接收一个函数和一个序列
但是和map()不同的是 filter()把传入的函数依次作用于 序列的每个元素
然后根据返回值是True或者False决定保留还是丢弃该元素
找出100以内的偶数
5.匿名函数
匿名函数的关键字 lambda
冒号前面是 形参 冒号后面是返回值
6.内置高阶函数sort
按照不同的要求排序:
7.高阶函数练习
要求:
将一个字符串转换成整型
'12345'---12345
'0':0
'1':1
'2':2
...
'9':9
代码:
结果: