Python教程

Python filter()

本文主要是介绍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.
这篇关于Python filter()的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!