python 高阶函数map filter reduce 更好的代替者

高阶函数是什么?

接收函数为参数 或者把函数作为结果返回的函数就是高阶函数

比如map

 

map函数 返回可迭代对象源码中有写 第一个参数是一个函数 第二个是可迭代对象

还有sorted

我们以字符段长度len来排序

sorted 与 sort不同的事 
sorted返回的是一个新的地址 

sorted的实用性非常高而且可以配合lambda, 我在写促销引擎时候经常会用到比如以什么什么排序

如果需要降序就在加一个参数reverse = T 这个是升序 F则是降序
 

 

最为人熟知是 map filter reduce and apply apply在python3 中移除掉了

但大数map filter reduce 函数都有了更好的替代品 

列表推导式 与生成器

与map 函数的效果一样

这里有个插曲是 map在python2返回的是列表 python3 是可迭代对象

这是对象的地址 既然是可迭代对象

()是之前里面加了元组 发现不行,, 只能是list

好了我们继续

过滤所有偶数

发现比filter还要简单整洁

python3 中map 与 filter返回的是生成器(一种迭代器)

reduce 经常用于求和

python2 中还是内置函数 python3 中放到了 functools

如果有条件最好使用内置函数, 在可读性与性能方面, 这是一项重大改善

这是内置函数sum

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值