打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Python高阶函数和匿名函数

map

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

输出结果:

可以看出,map让函数func作用于列表的每一项,使列表的每一项都被函数func执行一次,即列表的每一项都进行平方。其返回值是map类型。

reduce

reduce函数必须接收两个参数,把一个函数作用在一个序列[x1, x2, x3, ...]上,然后再把结果继续和序列的下一个元素做累积计算。

和map不同,虽然reduce也是作用于每个元素,但是reduce的作用结果要用在下次和另一个元素做累积计算。

map和reduce的结合使用

输出结果:

可以将字符串类型转换为int类型

filter

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

输出结果:

sorted

sorted函数也是一个高阶函数,在列表的学习中初步接触了sorted,但其实它还可以接收一个key函数来实现自定义的排序。

key指定的函数将作用于被排序对象的每一个元素上,并根据key函数返回的结果进行排序。

输出结果:

同样的,sorted也可以对元组和字典进行排序

输出结果:

当然,也能以values的值来排序,对字典的排序与元组类似,但返回值不同。

输出结果:

可以看到,不管是以key值进行排序,还是以value值进行排序,排序结果只返回对应顺序的key值。

匿名函数

输出结果:

上面就是一个匿名函数的使用,匿名函数 lambda x: x * x 实际上就是:

只是在这里没有显式地定义函数,这样因为函数没有名字,不必担心函数名冲突,而且代码看起来也简洁。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
python中高阶函数是什么意思?
Python专题——五分钟带你了解map、reduce和filter
Python中的高阶函数
从零开始学 Python 之高阶函数
4个python常用高阶函数的使用方法
我是变量,不,Python说你是函数
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服