使用Python filter() 的方法

180 阅读1分钟

Python提供了3个有用的全局函数,我们可以用它来处理集合。map(),filter()reduce()

提示:有时列表理解更有意义,而且通常被认为是更有Pythonic的

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]