python内置函数filter详解

filter函数功能作用

python内置函数filter的语法是filter(function, iterable),它使用function对iterable中的数据进行过滤,只保留那些返回True的元素。

filter(function, iterable)相当于一个生成器表达式,当function参数不为None时,等价于(item for item in iterable if function(item)),当function为None时,等价于(item for item in iterable if item)。

filter函数语法

filter(function, iterable)

参数

  • function 必须是函数
  • iterable iterable 可以是一个序列,一个支持迭代的容器,或一个迭代器

返回值

返回迭代器

示例代码

function为None

lst = [1, False, 2, 0, True]
for item in filter(None, lst):
    print(item)

程序输出

1
2
True

function为lambda函数

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

for item in filter(lambda x: x%2==0, lst):
    print(item)

程序输出

2
4

function为普通函数

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

def bt_3(x):
    if x > 3:
        return True
    return False

for item in filter(bt_3, lst):
    print(item)

程序输出

4
5

扫描关注, 与我技术互动

QQ交流群: 211426309

加入知识星球, 每天收获更多精彩内容

分享日常研究的python技术和遇到的问题及解决方案