在Python中,filter()
函數(shù)用于過(guò)濾序列中的元素,返回一個(gè)符合條件的新序列。
filter()
函數(shù)接受兩個(gè)參數(shù),第一個(gè)參數(shù)是一個(gè)函數(shù)(通常是lambda函數(shù)),用于對(duì)序列中的每個(gè)元素進(jìn)行判斷,返回True
表示保留該元素,返回False
表示過(guò)濾掉該元素。第二個(gè)參數(shù)是一個(gè)序列,可以是列表、元組等。
filter()
函數(shù)會(huì)遍歷序列中的每個(gè)元素,對(duì)每個(gè)元素應(yīng)用函數(shù)判斷,然后返回一個(gè)包含符合條件的元素的新序列。
以下是一個(gè)示例:
# 過(guò)濾列表中的偶數(shù)
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
filtered_numbers = list(filter(lambda x: x % 2 == 0, numbers))
print(filtered_numbers)
# 輸出: [2, 4, 6, 8, 10]
在上面的示例中,filter()
函數(shù)將列表numbers
中的每個(gè)元素傳入lambda函數(shù),判斷是否為偶數(shù),然后返回符合條件的新序列filtered_numbers
。
filter()
函數(shù)還可以用于過(guò)濾字符串、元組等其他可迭代對(duì)象中的元素,具體使用方式類似。