filter( ) 过滤器,用于过滤序列,过滤掉不符合条件的元素,这个条件可以自定义函数形式规范,返回由符合条件的元素组成的新列表,注意返回的是一个迭代器对象
filter(function, iterable)
function 判断函数,可以为None
iterable 可迭代对象,如list, range等
可迭代对象的每个元素作为参数传递给函数进行判断, 然后返回 true or false,最后将返回判定为 true 的元素放到新列表中
# 过滤出列表中的所有奇数
def is_odd(n):
return n%2 == 1
list_a = filter(is_odd, [1, 2, 3, 4, 5, 6, 7])
print(list_a)
# 获取索引中以索引为基数出现次数最多的所对应的元素
list_a = [12, 213, 22, 2, 2, 2, 22, 33, 2, 32]
list_b = filter(lambda x: x in list_a, [i for i in range(len(list_a))])
print(list(list_b))