python内置函数filter的语法是filter(function, iterable),它使用function对iterable中的数据进行过滤,只保留那些返回True的元素。
filter(function, iterable)相当于一个生成器表达式,当function参数不为None时,等价于(item for item in iterable if function(item)),当function为None时,等价于(item for item in iterable if item)。
filter(function, iterable)
返回迭代器
function为None
lst = [1, False, 2, 0, True]
for item in filter(None, lst):
print(item)
程序输出
1
2
True
function为lambda函数
lst = [1, 2, 3, 4, 5]
for item in filter(lambda x: x%2==0, lst):
print(item)
程序输出
2
4
function为普通函数
lst = [1, 2, 3, 4, 5]
def bt_3(x):
if x > 3:
return True
return False
for item in filter(bt_3, lst):
print(item)
程序输出
4
5
QQ交流群: 211426309