與map類似,filter也是·接受·一個(gè)函數(shù)和一個(gè)序列做參數(shù)。filter()把傳入的函數(shù)依次作用于每個(gè)元素距潘,然后根據(jù)返回值是True還是False決定保留還是丟棄該元素炼列。
eg:過(guò)濾掉一個(gè)list中的所有偶數(shù):
def f(n):
??? return n%2==1
? ? list(filter(is_odd, [1,2,4,5,6,9,10,15]))
#和map返回的數(shù)據(jù)類型一樣,是迭代器對(duì)象音比,惰性序列俭尖,需要調(diào)用list函數(shù)才能全部返回出來(lái)。