Python提供了三個有用的全局函數用於處理集合:map()
、filter()
和reduce()
。
提示:有時候,使用列表推導更能表達意思,並且通常被認為更符合Python風格。
filter()
接受一個可迭代對象,並返回一個過濾對象,即另一個可迭代對象,但不包含原始對象中的某些元素。
你可以通過在過濾函數中返回True
或False
來實現過濾功能:
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]