使用Python的filter()函數篩選出你想要的元素

Python 中的 filter() 函數

Python 中的 filter() 函數可以將函數应用到序列的每個元素上,並返回使函數返回值為 True 的元素的序列。它可以讓我們快速地過濾出序列中符合條件的元素,而不需要使用 for 迴圈。

例如,我們可以使用 filter() 函數來過濾出一個列表中的所有偶數:

numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

def is_even(x):
    return x % 2 == 0

even_numbers = list(filter(is_even, numbers))

print(even_numbers)

執行上面的程式碼,會得到以下輸出:

[2, 4, 6, 8, 10]

可以看到,我們使用 filter() 函數將列表中的所有偶數過濾出來了。

另外,我們也可以使用 filter() 函數來過濾出一個字典中的所有元素:

ages = {
    "Alice": 22,
    "Bob": 27,
    "Carol": 18,
    "Dave": 32
}

def is_adult(age):
    return age >= 18

adults = dict(filter(lambda x: is_adult(x[1]), ages.items()))

print(adults)

執行上面的程式碼,會得到以下輸出:

{'Alice': 22, 'Bob': 27, 'Dave': 32}

可以看到,我們使用 filter() 函數將字典中的所有成年人過濾出來了。

總結來說,Python 中的 filter() 函數可以讓我們快速地過濾出序列中符合條件的元素,而不需要使用 for 迴圈,是一個非常有用的函數。

發佈留言