Python函数式编程-1·Filter

一、函数式编程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
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容