美文网首页js css htmlPython进阶python
Python函数式编程-1·Filter

Python函数式编程-1·Filter

作者: 技术老男孩 | 来源:发表于2023-01-08 08:46 被阅读0次

    一、函数式编程Filter:

    • filter(func, seq): 调用一个布尔函数 func 来迭代遍历每个序列中的元素;返回一个使 func 返回值为 true 的元素的序列
    • 如果布尔函数比较简单,直接使用 lambda 匿名函数就显得非常方便了

    二、传参方式:

    filter(布尔函数, 列表):

    filter会返回一个对象,对象可以直接被list进行转换,转换的list保存过滤结果为True的元素,False的元素则会被扔掉

    布尔函数:

    返回True或False的函数
    还可以传入lambda表达式来简化代码量

    列表:

    通常是需要过滤的列表

    三、示例:

    def fun(x):
        if x > 5:
            return True
        else:
            return False
    
    def fun2(x):
        return True if x > 1 else False
    
    
    if __name__ == '__main__':
        li = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
        li2 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
        f1 = filter(fun, li)
        f2 = filter(fun2, li)
        f3 = filter(lambda x: True if x > 6 else False, li)
        print("f1", list(f1))
        print("f2", list(f2))
        print("f3", list(f3))
    
    filter.png

    相关文章

      网友评论

        本文标题:Python函数式编程-1·Filter

        本文链接:https://www.haomeiwen.com/subject/fssmqdtx.html