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