高阶函数、匿名函数及其内置高阶函数(map、reduce、filter、sort)
其他
2020-02-14 17:53:02
阅读次数: 0
1.高阶函数
- 概念:
- 实参是一个函数,函数的返回值也是一个函数
- 函数本身也是可以赋值给变量的,变量可以指向函数
- abs是计算绝对值的函数
- 高阶函数传递的参数包括函数名
2.内置高阶函数map
- map( ): 接收两个参数,一个是函数,一个是序列
- map将传入的函数依次作用到序列的每个元素,并且把结果作为新的序列返回
- 问题1
- 对一个序列[1,-43,-23,25,-65]的每一个元素求绝对值
- 程序代码
- 运行结果
- 问题2
- 对序列的每个元素求阶乘
- 程序代码
- 运行结果
3.内置高阶函数reduce
- reduce( ): 把一个函数作用在一个序列上,这个函数必须接收两个参数
- reduce把结果继续和序列的下一个元素做累积计算
- reduce( f, [ 1,2,3,4 ] ) = f ( f ( f ( 1,2 ) ,3 ) ,4 )
- 在python2中:reduce是内置函数
- 在python3中:需导入reduce模块( from functools import reduce)
- 程序代码
- 运行结果
- 程序代码
- 运行结果
4.内置高阶函数filter
- filter 过滤函数
- 和map( )类似,也是接收一个函数和一个序列
- 不同的是,filter( )将传入的函数依次作用于序列的每个元素
- 然后根据返回值是Ture或者False决定保留还是丢弃该元素
- 程序代码
- 运行结果
5.匿名函数
- 函数匿名的关键字 lambda (冒号前面是形参,后面是返回值)
- 程序代码
- 运行结果
- 程序代码
- 运行结果
- 程序代码
- 运行结果
6.内置函数sort
- 默认sort方法和sorted函数均由小到大排序,reverse=True 由大到小排序
- 程序代码
- 运行结果
- 问题:给商品进行排序
- 程序代码
- 运行结果
发布了82 篇原创文章 ·
获赞 0 ·
访问量 643
转载自blog.csdn.net/qq_45594312/article/details/103717199