26 Feb 2019

Python filter() Function

  • Selects elements from a list, tuple or another iterable based on the output of a function.
  • The function in filter() is applied to each element and if it returns True, the element is selected.
  • Returns an iterator.

Syntax

filter(function, iterable)

Examples

Basic Usage

def check_even(number):
    if number % 2 == 0:
        return True
    return False

numbers = [1, 2, 3, 4]

even_numbers_iterator = filter(check_even, numbers)

even_numbers = list(even_numbers_iterator)

print(even_numbers)

# Output: [2, 4]

Using Lambda

numbers = [1, 2, 3, 4]

even_numbers_iterator = filter(lambda: x: (x%2 == 0), numbers)

Using None

When None is used, all elements that are truthy values (gives True if converted to boolean) are extracted.

some_list = [1, 'a', 0, False, True. '0']

filtered_iterator = filter(None, numbers)

filtered_list = list(filtered_iterator)

print(filtered_list)

# Output: [1, 'a', True, '0']