在Python中,filter()
函數是一個內置函數,用于篩選出滿足指定條件的元素,并返回一個由這些元素組成的新列表(或迭代器)。
filter()
函數的語法如下:
filter(function, iterable)
其中,function
是用于篩選的函數,iterable
是可迭代對象,可以是列表、元組、集合、字符串等。
function
函數接收一個參數,并返回True
或False
,用于判斷是否保留該元素。如果function
函數的返回值為True
,則該元素被保留;如果返回值為False
,則該元素被過濾掉。
filter()
函數會遍歷iterable
中的每個元素,依次將每個元素傳遞給function
函數進行判斷。最后,返回一個只包含通過判斷的元素的新列表(或迭代器)。
下面是一個使用filter()
函數的示例:
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
def is_even(x):
return x % 2 == 0
even_numbers = filter(is_even, numbers)
print(list(even_numbers)) # 輸出: [2, 4, 6, 8, 10]
在上面的示例中,我們定義了一個is_even()
函數,用于判斷一個數是否為偶數。然后,我們使用filter()
函數將is_even()
函數應用到numbers
列表中的每個元素上,保留了所有的偶數,并將它們存儲在even_numbers
中。最后,我們通過list()
函數將even_numbers
轉換為列表,并打印出來。
需要注意的是,filter()
函數返回的是一個迭代器,如果想要直接查看結果,需要使用list()
等函數將其轉換為列表。