前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >Python 函数式编程

Python 函数式编程

作者头像
技能锦囊
发布2020-04-14 17:16:01
发布2020-04-14 17:16:01
45200
代码可运行
举报
文章被收录于专栏:MySQL 笔记MySQL 笔记
运行总次数:0
代码可运行

大家好,我是Afan 有些函数记住了总是忘?来看看我的总结吧!

函数式编程

优点:主要在于其纯函数和不可变的特性使程序更加健壮,易于调试debug和测试

通常和lambda 函数一起使用 (iterable:迭代器)


  • map(fun, iterable)函数:

它对iterable中每个元素都运行function这函数,最后返回新的可遍历集合.

代码语言:javascript
代码运行次数:0
复制
  1. l = [1, 2, 3, 4, 5]
  2. new_list = map(lambda x: x * 2, l)
  3. [2, 4, 6, 8, 10]
  • filter(fun, iterable)函数:

和map类似,它对iterable中的每个元素都使用fun函数判断,并返回True或False, 最终返回True的元素组成新的可遍历集合。

代码语言:javascript
代码运行次数:0
复制
  1. l = [1, 2, 3, 4, 5]
  2. new_list = filter(lambda x: x % 2 == 0, l)
  3. 输出: [2, 4]
  • reduce(fun, iterable)函数:

reduce函数在python3的内建函数移除了,放入了functools模块中,即

代码语言:javascript
代码运行次数:0
复制
  1. from functools import reduce

对iterable 每个元素及上次调用的结果,运行fun计算,最后返回一个单独的数值, 它通常用来对一个集合做一些累积操作。

代码语言:javascript
代码运行次数:0
复制
  1. l = [1, 2, 3, 4, 5]
  2. product = reduce(lambda x, y: x * y, l)
  3. 等同于: 1*2*3*4*5 = 120
欢迎关注我哟--公众号( 技能锦囊 )。
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-07-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 技能锦囊 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 函数式编程
    • 优点:主要在于其纯函数和不可变的特性使程序更加健壮,易于调试debug和测试
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档