1、filter语法
官方文档说明
Docstring: 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
返回一个迭代器对象,当传入的是一个函数时,返回使这个函数返回true的元素组成的迭代器;当传入的是None时,返回所有本身可以判断为true的元素组成的迭代器。
2、filter基本用法
调用filter时并没有触发过滤过程,因为调用filter函数只是返回了一个iterator,它是惰性计算,只有next或者list的时候,才真正开始计算过程。
L = [x for x in range(10)]
print(list(filter(lambda x : x%2 == 0, L))) #[2,4,6,8]
print(list(filter(None, L))) #[1,2,3,4,5,6,7,8,9]
#filter返回的是一个iterator,所以输出的时候需要用list进行转换。