Python中的高阶函数(内置高阶函数map()、reduce

系统 1555 0

一、什么是高阶函数

在计算机编程语言中,高阶函数指的是接受函数作为输入或输出的函数。

二、高阶函数的特性
函数本身也可以赋值给变量 变量可以指向函数

            
              f = abs    #abs()取绝对值函数,将函数赋给变量f
print(f(-10))   #输出结果-10的绝对值

            
          

三、内置高阶函数map()

map():接收两个参数,一个是函数 一个是序列
map()将传入的函数依次作用到序列的每个元素,并且把结果作为新的序列返回

例:对一个序列[-1,3,-4,-5]的每一个元素求绝对值
代码
在这里插入图片描述
结果
Python中的高阶函数(内置高阶函数map()、reduce()、filter() )_第1张图片 例:随机生成10个元素,对每个元素求阶乘。
代码
Python中的高阶函数(内置高阶函数map()、reduce()、filter() )_第2张图片 结果
Python中的高阶函数(内置高阶函数map()、reduce()、filter() )_第3张图片 四、内置高阶函数reduce()

reduce():把一个函数作用在一个序列上,这个函数必须接收两个参数 reduce()把结果继续和序列的下一个元素做累积计算
reduce(f,[x1,x2,x3,x4]) = f(f(x1,x2),x3),x4)

注意

            
              python2中:reduce是内置函数
python3中:from functools import reduce

            
          

例:使用reduce函数计算1~10类乘和。
代码
Python中的高阶函数(内置高阶函数map()、reduce()、filter() )_第4张图片 结果
Python中的高阶函数(内置高阶函数map()、reduce()、filter() )_第5张图片
五、filter过滤函数

和map()类似的,也接收一个函数和一个序列
但是和map()不同的是,filter()把传入的函数依次作用于每个元素,然后根据返回值是True或者False决定保留还是丢弃该元素

例:输出1~100内所有偶数
代码 :
Python中的高阶函数(内置高阶函数map()、reduce()、filter() )_第6张图片 结果 :

在这里插入图片描述 六、例题
1、有一个整数列表(10个元素),要求调整元素的顺序
把奇数放在前面 偶数放在后面将用户输入的数字字符串(str)转换为整型(int)数字输出,若输入的数字字符串中包含小数点则转换为浮点型(float)数字输出。
代码
Python中的高阶函数(内置高阶函数map()、reduce()、filter() )_第7张图片
Python中的高阶函数(内置高阶函数map()、reduce()、filter() )_第8张图片 结果
Python中的高阶函数(内置高阶函数map()、reduce()、filter() )_第9张图片 Python中的高阶函数(内置高阶函数map()、reduce()、filter() )_第10张图片
2、随机生成一个整数列表(10个元素),要求调整元素的顺序
要求:把奇数放在前面,偶数放在后面。

代码

Python中的高阶函数(内置高阶函数map()、reduce()、filter() )_第11张图片 结果
Python中的高阶函数(内置高阶函数map()、reduce()、filter() )_第12张图片


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论