Python provides 3 useful global functions we can use to work with collections: map()
, filter()
and reduce()
.
Tip: sometimes list comprehensions make more sense and are generally considered more pythonic
filter()
takes an iterable and returns a filter object, which is another iterable, but without some of the original items.
You do so by returning True
or False
from the filtering function:
numbers = [1, 2, 3]
def isEven(n):
return n % 2 == 0
result = filter(isEven, numbers)
print(list(result)) # [2]
You can use a lambda function to make the code more concise:
numbers = [1, 2, 3]
result = filter(lambda n: n % 2 == 0, numbers)
print(list(result)) # [2]