在Python中,filter()函數用于過濾一個序列,返回符合條件的元素。
filter()函數的基本語法如下:
filter(function, sequence)
其中,function是一個函數,sequence是一個可迭代的序列(如列表、元組、字符串等)。
function是一個返回布爾值的函數,它用于判斷序列中的每個元素是否符合條件。如果function返回True,則保留該元素;如果function返回False,則過濾掉該元素。
下面是一個使用filter()函數的示例:
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# 過濾出偶數
even_numbers = filter(lambda x: x % 2 == 0, numbers)
print(list(even_numbers))
# 輸出: [2, 4, 6, 8, 10]
# 過濾出大于5的數
greater_than_5 = filter(lambda x: x > 5, numbers)
print(list(greater_than_5))
# 輸出: [6, 7, 8, 9, 10]
在上面的示例中,我們使用lambda函數創建了匿名函數,判斷序列中的元素是否為偶數或大于5,然后通過filter()函數過濾出符合條件的元素。最后,使用list()函數將過濾結果轉換成列表打印出來。