filter函数
filter 函数有两个参数,第一个function,第二个是可迭代对象,有返回值,在python3中返回一个迭代器,并且返回的是把符合要求的值过滤掉而剩下的值
a = [1,2,3,4,"",0,None]
print(filter(None, a))
输出:[1,2,3,4]
也可以自定义函数,但是return中一定要是带有判断性质的语句,否则filter函数不生效,不会对iterable产生影响
a = [1,2,3,4]
def func(x):
return pow(x, 2)
print(list(filter(func, a)))
输出:[1,2,3,4]
def func1(x):
return x % 2 == 0
print(list(filter(func1, a)))
输出:[2,4]
filterfalse函数
filterfalse 函数也有两个参数,基本与filter函数相同,有返回值,返回一个迭代器,但是返回的是符合要求的值
from itertools import filterfalse
a = [1,2,3,4,"",None,0]
print(list(filterfalse(None, a)))
输出:["", None, 0]
filterfalse函数也可以接收自定义函数,与filter函数相同