Python的filter方法实现筛选功能

filter方法可以实现筛选,第一个参数是一个函数,返回值是True或者False,第二个参数可以是str、tuple、list,将后面的参数依次传递给函数,依次判断结果,留下结果为 True的。比如:

d = filter(lambda x: x%2, [1,2,3,4])

这个结果为1,3.执行过程:

1、 将列表中的1传递给前边的函数的x,判断x%2的结果是否为True(非0),True就留下

2、 将列表中的2传递给函数中的x,判断x%2的结果是否为True(非0),True就留下

3、 依次类推直到全部判断完毕

4、 结果就为:【1,3】

 

 

再看下面这个,第一个参数是None,这种时候后面的所有值都返回,

e = filter(None, "I love python")
print(list(e))

 

print的结果为:

['I', ' ', 'l', 'o', 'v', 'e', ' ', 'p', 'y', 't', 'h', 'o', 'n']

 

posted @ 2019-12-17 13:44  白杨的博客  阅读(4232)  评论(0编辑  收藏  举报