Python函数式编程-Filter

简介: Python函数式编程-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))

image.png

相关文章
|
3月前
|
Python
高阶函数如`map`, `filter`, `reduce`和`functools.partial`在Python中用于函数操作
【6月更文挑战第20天】高阶函数如`map`, `filter`, `reduce`和`functools.partial`在Python中用于函数操作。装饰器如`@timer`接收或返回函数,用于扩展功能,如记录执行时间。`timer`装饰器通过包裹函数并计算执行间隙展示时间消耗,如`my_function(2)`执行耗时2秒。
28 3
|
1月前
|
Python
Python函数式编程:你真的懂了吗?理解核心概念,实践高阶技巧,这篇文章带你一次搞定!
【8月更文挑战第6天】本文介绍了Python中的函数式编程,探讨了高阶函数、纯函数、匿名函数、不可变数据结构及递归等核心概念。通过具体示例展示了如何利用`map()`和`filter()`等内置函数处理数据,解释了纯函数的一致性和可预测性特点,并演示了使用`lambda`创建简短函数的方法。此外,文章还强调了使用不可变数据结构的重要性,并通过递归函数实例说明了递归的基本原理。掌握这些技巧有助于编写更清晰、模块化的代码。
19 3
|
2月前
|
存储 分布式计算 索引
Python函数式编程入门窥探
Python本身不是一门函数式编程语言,但是它参考了一些函数式编程语言很好的地方,除了可以写出更可读的代码外。还能用它来实现一些特定功能,本身也提供了强大的注解系统和函数和对象之间的灵活调用。
|
1月前
|
分布式计算 Python
【python笔记】高阶函数map、filter、reduce
【python笔记】高阶函数map、filter、reduce
|
2月前
|
缓存 并行计算 Shell
12种增强Python代码的函数式编程技术
函数式编程是一种高度抽象的编程范式,它倡导使用纯函数,即那些不依赖于外部状态、没有可变状态的函数。在纯粹的函数式编程语言中,函数的输出完全由输入决定,因此相同的输入总是产生相同的输出,这样的函数我们称之为无副作用的。
|
3月前
|
Python
在Python中,`map()`, `filter()` 和 `reduce()` 是函数式编程中的三个核心高阶函数。
【6月更文挑战第24天】Python的`map()`应用函数到序列元素,返回新序列;`filter()`筛选满足条件的元素,生成新序列;`reduce()`累计操作序列元素,返回单一结果。
30 3
|
3月前
|
Python
Python教程:一文了解如何使用Lambda 表达式和 filter函数实现过滤器
在 Python 中,Lambda 表达式是一种匿名函数,也就是没有名称的函数。它允许您快速定义简单的单行函数,通常用于函数式编程中的一些场景,例如在高阶函数中作为参数传递。
91 2
|
3月前
|
Serverless 开发者 Python
Python函数式编程:让你的代码更简洁、更高效!
【6月更文挑战第12天】Python函数式编程引入了数学函数概念,强调无副作用和不可变数据。特点包括高阶函数、Lambda表达式、map、filter和reduce。示例展示了如何使用map进行平方运算,filter筛选条件元素,reduce计算元素总和,体现其简洁高效。虽然不适用于所有情况,但函数式编程能提升代码可读性和可维护性。
21 3
|
4月前
|
Python
Python函数式编程自带函数
Python函数式编程自带函数
23 1
|
4月前
|
并行计算 数据处理 调度
Python中的函数式编程:深入理解与应用
Python中的函数式编程:深入理解与应用
27 0