最新公告
  • 欢迎您光临站盟网(原知事网),一个优质的网站源码基地、精品网站模板和插件。欢迎加入永久SVIP
  • python filter函数的返回值是什么?

    正文概述 知事网   2020-12-18 09:12   103

    序列中的一些数据是我们用不到的,所以会进行筛选和过滤,这就需要用到filter()函数来进行过滤。筛选掉不需要的数据,最后filter返回的结果又是什么呢?下面我们学习filter的概念、语法、参数等内容,然后在实例中找到返回值。

    1.说明

    filter()函数被用于过滤序列,它会过滤掉不符合条件的数据,符合条件的数据将会被留下,filter函数返回的结果是一个可迭代对象。

    之所以称它为高级语法,因为想要正确理解使用它并不容易,同时还要配合上lambda表达式。

    2.语法

    filter(function, iterable)

    3.参数

    function — 判断函数。

    iterable — 可迭代对象。

    4.返回值

    返回列表。

    5.实例

    from collections import Iterable
     
    def func(x):
        print("接收参数" + str(x))
        return x%2 == 0
     
    lst = [1, 2, 5, 6, 7]
    res = filter(func, lst)
    # res 是一个可迭代对象
    print(isinstance(res, Iterable), type(res))
     
    for item in res:
    print(item)

    filter函数的返回值是一个可迭代对象,这一点很关键,这也是为什么我说filter函数是高级语法的原因。

    为什么不返回列表?,如果返回的是列表,那么在filter函数执行过程中,就必须对列表里的每一个数据进行对2取模运算,这样很浪费空间,因此filter在实现时采用了迭代器技术,将计算延迟到对filter函数返回结果进行遍历时才进行。

    通过本篇的学习,我们发现了filter函数的返回值,同时掌握了过滤序列数据的方法,学会的赶紧也动手试试吧。

    转载自:python学习网 https://www.py.cn/


    站盟网 » python filter函数的返回值是什么?

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者
    请选择支付方式
    ×
    支付宝支付
    微信支付
    余额支付
    ×
    微信扫码支付 0 元