内置函数filter()

描述

filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回一个迭代器对象,如果要转换为列表,可以使用 list() 来转换。

该接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判,然后返回 True 或 False,最后将返回 True 的元素放到新列表中。

语法

以下是 filter() 方法的语法:

filter(function, iterable)

参数

  • function -- 判断函数。
  • iterable -- 可迭代对象。

返回值

返回一个迭代器对象

 

1.使用普通函数封装

movie_people = ['sb_alex','sb_qi','lin','sb_yuan']

def filter_test(arry):
    ret = []
    for p in arry:
        if not p.startswith('sb'):
            ret.append(p)
    return ret
print(filter_test(movie_people))

2.使用filter()函数,filter()函数包括两个参数,分别是function和list。该函数根据function参数返回的结果是否为真来过滤list参数中的项,最后返回一个新列表

movie_people = ['alex_sb','wu_sb','lin','yuan_sb']
print(list(filter(lambda  n:not n.endswith('sb'),movie_people)))

posted on 2019-05-27 14:36  测试小伙子  阅读(256)  评论(0编辑  收藏  举报

导航