filter()函数
1.语法
filter(function, iterable)
将一个可迭代对象(iterable)中的元素,通过函数(function)进行判断,筛选出需要的元素
用 iterable 中函数 function 返回真的那些元素,构建一个新的迭代器。iterable 可以是一个序列,一个支持迭代的容器,或一个迭代器。如果 function 是 None ,则会假设它是一个身份函数,即 iterable 中所有返回假的元素会被移除。
请注意, filter(function, iterable) 相当于一个生成器表达式,
(1)当 function 不是 None 的时候为 (item for item in iterable if function(item));
(2)function 是 None 的时候为 (item for item in iterable if item) 。
2.实例
(1)定义如下函数,进行判断并输出结果
def is_odd(n):
return n % 2 == 1
newlist = filter(is_odd, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
print(newlist)
结果
[1, 3, 5, 7, 9]