内置函数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)))