zoukankan      html  css  js  c++  java
  • Python3 filter()函数

    定义:

    class filter(object):
    """
    filter(function or None, iterable) --> filter object

    Return an iterator yielding those items of iterable for which function(item)
    is true. If function is None, return the items that are true.
    """

    filter: 过滤,筛选

    返回一个新的迭代器对象,把给入filter的iterable中每个元素作为参数传递给函数function,将function返回为true的元素保留到新迭代器对象。如果函数为None,则全部保留。

    用法:

    filter(function or None, iterable)

    function:函数

    iterable:可迭代对象

    代码举例一:

    def is_positive(n):
        return n > 0
    
    tmplist = filter(is_positive, [-3, -2, -1, 0, 1, 2, 3])
    print(tmplist)
    print(list(tmplist))

    is_positive函数,当输入为正数时,输出True,打印如下

    <filter object at 0x000001BC0B2776D8>
    [1, 2, 3]

    此时输出是:<filter object at 0x0000018857EC76D8>

    可以用list() 转化为列表

    function为None时,不过滤,全部保留

    tmplist = filter(None, [-3, -2, -1, 0, 1, 2, 3])
    print(list(tmplist))

     输出: [-3, -2, -1, 1, 2, 3]

    代码举例二:

    把上述函数写成匿名函数

    tmplist = filter(lambda x: x>0, [-3, -2, -1, 0, 1, 2, 3])
    print(list(tmplist))

    输出:[1, 2, 3]

    注意:

    在python3中,filter返回一个可iterable的对象,但不是一个列表,在Python2中,返回一个列表。

  • 相关阅读:
    模型分离(选做)
    密码保护
    实现搜索功能
    完成个人中心—导航标签
    个人中心标签页导航
    评论列表显示及排序,个人中心显示
    完成评论功能
    从首页问答标题到问答详情页
    运行Junit单测时遇到的问题
    spring定时任务执行两次的原因与解决方法
  • 原文地址:https://www.cnblogs.com/gaby-yan/p/15067978.html
Copyright © 2011-2022 走看看