Python filter()

In this tutorial, we will learn about the Python filter() function with the help of examples.

The filter() function extracts elements from an iterable (list, tuple etc.) for which a function returns True.

Example

numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

# returns True if number is even
def check_even(number):
    if number % 2 == 0:
          return True  

    return False

# Extract elements from the numbers list for which check_even() returns True
even_numbers_iterator = filter(check_even, numbers)

# converting to list
even_numbers = list(even_numbers_iterator)

print(even_numbers)

# Output: [2, 4, 6, 8, 10]

filter() Syntax

Its syntax is:

filter(function, iterable)

filter() Arguments

The filter() function takes two arguments:

  • function - a function
  • iterable - an iterable like sets, lists, tuples etc.

filter() Return Value

The filter() function returns an iterator.

Note: You can easily convert iterators to sequences like lists, tuples, strings etc.


Example 1: Working of filter()

letters = ['a', 'b', 'd', 'e', 'i', 'j', 'o']

# a function that returns True if letter is vowel
def filter_vowels(letter):
    vowels = ['a', 'e', 'i', 'o', 'u']
    return True if letter in vowels else False


filtered_vowels = filter(filter_vowels, letters)

# converting to tuple
vowels = tuple(filtered_vowels)
print(vowels)

Output

('a', 'e', 'i', 'o')

Here, the filter() function extracts only the vowel letters from the letters list. Here’s how this code works:

  • Each element of the letters list is passed to the filter_vowels() function.
  • If filter_vowels() returns True, that element is extracted otherwise it’s filtered out.
上一篇:[zt]SQLserver rush


下一篇:如何帮助金融客户“用好云”?