在 Python 中,filter() 是一種內置函數,用于過濾序列中不符合特定條件的元素,返回符合條件的元素組成的迭代器。filter() 函數需要傳入兩個參數,第一個參數是一個函數,用于對序列中的每個元素進行判斷;第二個參數是一個序列。filter() 函數會對序列中的每個元素依次執行匿名函數,如果返回值為 True,則保留該元素,否則過濾掉該元素。下面是一個簡單的例子:
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
even_numbers = list(filter(lambda x: x % 2 == 0, numbers))
print(even_numbers)
在上述代碼中,我們將 numbers 序列中的偶數保留下來,并將它們存儲在 even_numbers 列表中。我們使用了一個匿名函數 lambda x: x % 2 == 0,該函數返回一個布爾值,判斷其參數 x 是否為偶數。我們將這個函數傳給了 filter() 函數,并將 numbers 序列作為第二個參數。filter() 函數將遍歷 numbers 序列中的每個元素,對其執行匿名函數,并返回滿足條件的元素組成的迭代器。最后,我們將迭代器轉換為列表并打印輸出。
需要注意的是,filter() 函數返回的是一個迭代器對象,如果需要獲取一個列表,需要使用 list() 函數將迭代器轉換為列表。另外,filter() 函數也可以配合其他函數來使用,例如 map() 函數,可以實現對序列的處理。