Python函数式编程-1·Filter

开发者 2024-9-20 11:43:54 81 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 Falsedef fun2(x):    return True if x > 1 else Falseif __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))
您需要登录后才可以回帖 登录 | 立即注册

Powered by CangBaoKu v1.0 小黑屋藏宝库It社区( 冀ICP备14008649号 )

GMT+8, 2024-11-21 21:06, Processed in 0.145518 second(s), 32 queries.© 2003-2025 cbk Team.

快速回复 返回顶部 返回列表