分享

python函数式编程

 gjzh090 2022-01-15

一切都是函数,不保留中间状态。
从函数输入输出的角度看问题,很像之前的面向过程。
函数可以作为参数和返回值。

1)代码更简单了。
2)数据集,操作,返回值都放到了一起。
3)你在读代码的时候,没有了循环体,于是就可以少了些临时变量,以及变量倒来倒去逻辑。
4)你的代码变成了在描述你要干什么,而不是怎么去干。

map

对一个数据做处理:

name = map(lambda x: x + 1, [1,2,3])[2,3,4]

reduce

每次对两个数据进行处理:

name = reduce(lambda x, y: x + y, [1,2,3])6

reduce先计算1+2得到3,再计算3+3得到6。

filter

过滤等于true的list item

print filter(lambda x: x % 3 == 0, foo)[18, 9, 24, 12, 27]

计算平均值:

number =[2, -5, 9, -7, 2, 5, 4, -1, 0, -3, 8]sum = filter(lambda x: x>0, number)average = reduce(lambda x,y: x+y, sum)/len(sum)print average

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多