filter函数
filter函数:选择可迭代对象中的元素
没有类型时输出迭代器
1. 语法:
filter(function,ilterable)
2. 含义:
- 用于过滤序列,过滤掉不符合条件的元素返回符合序列元素的新列表
- 序列每个元素作为参数传递给函数进行判断
- 返回True或False
注:只能接受一个参数
如果函数对该元素返回了True值,该元素会被加入到结果列表中
# 过滤掉奇数
>>> def is_even(x):
>>> return x % 2 == 0
>>> new_list = filter(is_even,[1,2,3,4,5,6,7,8,9])
>>> print(new_list)
<filter object at 0x000000000BD601D0> #返回迭代器
>>> print(list(new_list))
[2, 4, 6, 8]
特别的
list(filter(None, [0,1,2,3,0,0]))
[1,2,3]
返回的不是[0,0,0],而返回的是[1,2,3]