Python filter() 函式介紹

Python 的 filter() 函式是一個非常有用的函式,它可以讓你快速地過濾出你想要的資料。它可以讓你從一個資料序列中篩選出符合條件的資料,而不需要你自己寫迴圈來處理。

filter() 函式的語法如下:

filter(function, iterable)

其中,function 是一個函式,它接受一個參數,並且回傳一個布林值,True 或 False。iterable 是一個可迭代的資料序列,例如 list、tuple、dict 等。

filter() 函式會將 iterable 中的每一個元素傳入 function 中,如果 function 回傳 True,則該元素會被保留,如果回傳 False,則該元素會被過濾掉。最後,filter() 函式會回傳一個由符合條件的元素組成的資料序列。

Python filter() 函式範例

下面是一個簡單的範例,使用 filter() 函式將一個 list 中的偶數過濾出來:

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

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

even_nums = list(filter(is_even, nums))

print(even_nums)

執行結果:

[2, 4, 6, 8, 10]

可以看到,filter() 函式將 nums 中的偶數過濾出來,並且回傳一個由偶數組成的 list。

Python filter() 函式的應用

filter() 函式可以用來快速地過濾出你想要的資料,它可以讓你不需要寫迴圈,就可以快速地過濾出你想要的資料。

例如,你可以使用 filter() 函式來過濾出一個 list 中的字串:

def is_string(x):
    return isinstance(x, str)

data = [1, 'a', 2, 'b', 3, 'c']

strings = list(filter(is_string, data))

print(strings)

執行結果:

['a', 'b', 'c']

可以看到,filter() 函式將 data 中的字串過濾出來,並且回傳一個由字串組成的 list。

總結

本文介紹了 Python 的 filter() 函式,它可以讓你快速地過濾出你想要的資料,而不需要你自己寫迴圈來處理。它可以用來快速地過濾出你想要的資料,例如過濾出一個 list 中的偶數或字串。

Categorized in:

Tagged in: