• Python中的apply,filter和map函数


    apply函数:

    apply(func [, args [, kwargs ]]) 函数用于当函数参数已经存在于一个元组或字典中时,间接地调用函数。args是一个包含将要提供给函数的按位置传递的参数的元组。如果省略了args,任何参数都不会被传递,kwargs是一个包含关键字参数的字典。

    apply()的返回值就是func()的返回值,apply()的元祖参数是有序的,元素的顺序必须和func()形式参数的顺序一致

    map()可以对多个序列的每个元素都执行相同的操作,并组成列表返回,声明如下:
    map(func, sequence[, sequence,...]) -> list
    4.1 参数func是自定义的函数,实现对序列每个元素的操作
    4.2 参数sequence为待处理的序列,可以有多个序列
    4.3 map()的返回值是对序列元素处理后的列表

    a = [1, 2, 3, 4, 5]

    def foo(x):

        return 3 * x

    map(foo, a) #[3, 6, 9, 12, 15]

    filter()可以对某个序列做过滤处理,对自定义函数的参数返回的结果是否为“真”来过滤,并一次性返回处理结果。
    声明如下:
    filter(func or None, sequence) -> list, tuple, or string
    2.1 参数func是自定义的过滤函数,在函数func(item)中定义过滤的规则。如果func为None,则过滤项都为真,返回所有的序列元素。
    2.2 参数sequence为待处理的序列
    2.3 filter()的返回值是由func()的返回值组成的序列,返回的类型与参数sequence的类型相同
    2.4 filter()的过滤函数func()的参数不能为空
    filter函数以一个函数和序列作为参数,它返回该序列的子集,其中子集的成员能满足函数的条件。
    如果filter以None作为第一个参数,它将过滤掉序列中所有假值 

    作者:Shane
    出处:http://bluescorpio.cnblogs.com
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    hdu4405Aeroplane chess 概率dp水题
    【基础算法】排序-复杂排序之二(找出第K大的数)
    java代码实现输出指定以.java结尾的文件的绝对路径
    算法 Heap sort
    hdu2141Can you find it?
    c/c++:回调函数
    怎样在编译的时候,控制删除apk不用的资源?
    javascript原型的改动与重写(覆盖)区别
    深入理解Tomcat虚拟文件夹
    C++设计模式之代理模式
  • 原文地址:https://www.cnblogs.com/bluescorpio/p/1734038.html
Copyright © 2020-2023  润新知