Python函數介紹:filter函數的作用和範例
Python是一種功能強大的程式語言,提供了許多內建的函數,其中之一就是filter函數。 filter函數用於過濾清單中的元素,並傳回滿足指定條件的元素組成的新清單。在本文中,我們將介紹filter函數的作用,並提供一些範例來幫助讀者理解其用法和潛力。
filter函數的語法如下:
filter(function, iterable)
在上述語法中,function是一個函數,iterable是一個可迭代對象,例如列表。 filter函數將可迭代對像中的每個元素傳遞給function函數,並傳回一個新的生成器對象,其中包含滿足條件的元素。如果function函數的回傳值為True,則該元素會包含在新清單中;如果function函數的回傳值為False,則該元素將會被篩選掉。
下面我們透過幾個簡單的範例來說明filter函數的用法。
範例一:
假設我們有一個清單包含數字1到10,我們想要過濾其中的偶數。我們可以使用filter函數來實現:
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] def is_even(num): return num % 2 == 0 even_numbers = list(filter(is_even, numbers)) print(even_numbers)
運行上述程式碼,輸出結果為:[2, 4, 6, 8, 10]。 filter函數呼叫is_even函數來判斷元素是否為偶數,滿足條件的元素被包含在新列表even_numbers中。
範例二:
假設我們有一個字串列表,我們想要過濾出其中長度大於等於5的字串。我們可以使用filter函數來實現:
strings = ["apple", "banana", "cherry", "date", "elderberry", "fig", "grape"] def is_long(string): return len(string) >= 5 long_strings = list(filter(is_long, strings)) print(long_strings)
運行上述程式碼,輸出結果為:['apple', 'banana', 'cherry', 'elderberry']。 filter函數呼叫is_long函數來判斷元素的長度是否大於等於5,滿足條件的元素被包含在新列表long_strings中。
範例三:
filter函數也支援使用lambda表達式定義篩選條件,讓程式碼更簡潔。以下範例實現與範例一相同的功能:
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] even_numbers = list(filter(lambda num: num % 2 == 0, numbers)) print(even_numbers)
執行上述程式碼,輸出結果為:[2, 4, 6, 8, 10]。這裡使用了lambda表達式來定義函數is_even,並將其作為參數傳遞給filter函數。
總結:
透過本文,我們了解了filter函數的作用和範例。 filter函數提供了一種便捷的方法來過濾清單中的元素,使得我們可以根據特定的條件篩選出我們所需的元素。我們可以使用自訂函數或lambda表達式來定義篩選條件。了解並掌握filter函數的用法對於處理清單資料非常有用,希望本文能對讀者加深對filter函數的理解和應用能力有所幫助。
以上是Python函數介紹:filter函數的作用與範例的詳細內容。更多資訊請關注PHP中文網其他相關文章!