Python提供了三個有用的全局函數用於處理集合:map()filter()reduce()

提示:有時候,使用列表推導更能表達意思,並且通常被認為更符合Python風格。

filter()接受一個可迭代對象,並返回一個過濾對象,即另一個可迭代對象,但不包含原始對象中的某些元素。

你可以通過在過濾函數中返回TrueFalse來實現過濾功能:

numbers = [1, 2, 3]

def isEven(n):
    return n % 2 == 0

result = filter(isEven, numbers)

print(list(result))  # [2]

你也可以使用lambda函數使代碼更簡潔:

numbers = [1, 2, 3]

result = filter(lambda n: n % 2 == 0, numbers)

print(list(result))  # [2]