Python filter() 函式介紹
Python 的 filter() 函式是一個非常有用的函式,它可以讓你快速地過濾出你想要的資料。它可以讓你從一個資料序列中篩選出符合條件的資料,而不需要你自己寫迴圈來處理。
filter() 函式的語法如下:
filter(function, iterable)
其中,function 是一個函式,它接受一個參數,並且回傳一個布林值,True 或 False。iterable 是一個可迭代的資料序列,例如 list、tuple、dict 等。
filter() 函式會將 iterable 中的每一個元素傳入 function 中,如果 function 回傳 True,則該元素會被保留,如果回傳 False,則該元素會被過濾掉。最後,filter() 函式會回傳一個由符合條件的元素組成的資料序列。
下面是一個簡單的範例,使用 filter() 函式來篩選出資料序列中大於 10 的元素:
numbers = [2, 5, 8, 10, 15, 20] def is_greater_than_10(x): return x > 10 filtered_numbers = filter(is_greater_than_10, numbers) print(list(filtered_numbers))
執行結果:
[15, 20]
可以看到,filter() 函式只保留了大於 10 的元素,其他的元素都被過濾掉了。
另外,filter() 函式也可以接受一個 None 參數,此時,它會將資料序列中的所有元素都傳入 function 中,如果 function 回傳 True,則該元素會被保留,如果回傳 False,則該元素會被過濾掉。
下面是一個簡單的範例,使用 filter() 函式來篩選出資料序列中是偶數的元素:
numbers = [2, 5, 8, 10, 15, 20] def is_even(x): return x % 2 == 0 filtered_numbers = filter(is_even, numbers) print(list(filtered_numbers))
執行結果:
[2, 8, 10, 20]
可以看到,filter() 函式只保留了是偶數的元素,其他的元素都被過濾掉了。
Python filter() 函式的優點
Python 的 filter() 函式有許多優點,其中最大的優點就是可以讓你快速地過濾出你想要的資料,而不需要你自己寫迴圈來處理。
另外,filter() 函式也可以接受一個 None 參數,此時,它會將資料序列中的所有元素都傳入 function 中,如果 function 回傳 True,則該元素會被保留,如果回傳 False,則該元素會被過濾掉。
總結
Python 的 filter() 函式是一個非常有用的函式,它可以讓你快速地過濾出你想要的資料,而不需要你自己寫迴圈來處理。它也可以接受一個 None 參數,此時,它會將資料序列中的所有元素都傳入 function 中,如果 function 回傳 True,則該元素會被保留,如果回傳 False,則該元素會被過濾掉。