python之filter()过滤函数


先讲一下filter()函数包含什么:
他可以有两个参数,第一个参数可以是函数也可以是None,第二个参数是一个可迭代参数。若第一个参数为函数,则将第二个参数中的每一个元素带入函数计算,把返回Ture的值筛选出来,并成一个列表,如果第一个参数为None则将第二个参数中Ture的值筛选出来:

>>> filter(None,[1,0,False,True])
<filter object at 0x000001ACDC3D44E0>
>>> list(filter(None,[1,0,False,True]))
[1, True]
>>>

也可利用此函数帮助我们解决一些问题,例如求0~10内的奇数:

>>> def odd(x):
	return x%2

>>> temp=range(10)
>>> show=filter(odd,temp)
>>> list(show)
[1, 3, 5, 7, 9]

利用上一篇文章学的lambda表达式可使我们的程序更加简洁:

>>> list(filter(lambda x :x%2,range(10)))
[1, 3, 5, 7, 9]

不知道小伙伴能不能看懂


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM