Python连载16-reduce函数&filter函数

2019-07-24 09:06:12来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

一、reduce函数

本函数释义:

(1)原意是归并,缩减

(2)把一个可迭代的对象最后归并成一个结果

(3)对于作为参数的函数要求:必须由两个参数,必须返回一个结果

 

import functools

#定义一个操作函数,加入操作函数只是相加

def myAdd(x,y):

    return x + y

#对于列表执行myAdd的操作

num1 = functools.reduce(myAdd,[1,2,3,4,5,6])

print(num1)

 

释义:我们递归的对列表进行加和,1+2=3,3+3=6,6+4=10,10+5=15,15+6=21,通过定义一个规则(也就是这里面的函数),我们有两个输入,一个输出,然后进行递归操作。

二、filter函数

1.过滤函数:对一组数据进行过滤,符合条件的数据会生成一个新的列表并返回

2.与map函数相比

(1)相同点:都对列表的每一个与纳苏进行逐一的操作

(2)不同点:map会生成一个跟元数据相对应的新队列;filter函数不一定,只要符合条件的才会进入新的数据集合

3.filter函数怎么写

(1)利用给定的函数进行判断

(2)返回值一定是布尔值

(3)调用格式:filter(f,data),f是过滤函数,data是数据

 

def isEven(a):

    return a % 2 ==0

list1 = [555,44,5,52652,56,523,6,626,656]

#利用这个函数我们把列表中的偶数都给挑选出来了

rst1 = filter(isEven,list1)

print(type(rst1))

print(rst1)

print(list(rst1))

 

还是前天的味道,filter函数返回的是一个filter类,打印出来也不再是一个列表,需要我们转换成列表,其中0x000...代表的是一个运行线程。

三、源码:

d19_3_reduce&fliter_function

地址:https://github.com/ruigege66/Python_learning/blob/master/d19_3_reduce%26fliter_function?

2.CSDN:https://blog.csdn.net/weixin_44630050(心悦君兮君不知-睿)

3.博客园:https://www.cnblogs.com/ruigege0000/

4.欢迎关注微信公众号:傅里叶变换,后台回复”礼包“,获取大数据学习资料。


原文链接:https://www.cnblogs.com/ruigege0000/p/11087491.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:BBS(仿博客园系统)项目04(文章详情页根评论、子评论的功能实

下一篇:django-Celery分布式队列简单使用