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


    一、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.欢迎关注微信公众号:傅里叶变换,后台回复”礼包“,获取大数据学习资料。

  • 相关阅读:
    解决方法 svn checkout 更改用户名密码/断网续传
    解决方法 cannot be resolved as a type
    解决方法 Syntax error on token "enum", invalid Expression
    使用笔记 Sublime text 持更
    解决方法 cvs或svn上下载的新项目无build path
    解决方法 卸载jdk以及重新安装jdk
    配置笔记 eclipse, jdk, tomcat, maven, mysql, alt+/
    ubantu配置java环境变量
    写给自己的!
    数据设计模式
  • 原文地址:https://www.cnblogs.com/ruigege0000/p/11087491.html
Copyright © 2020-2023  润新知