Python filter() Function



The Python filter() function allows you to filter out elements from an iterable object based on the specified condition. An object is said to be iterable if it allows its item to be retrieved through iteration, such as lists, tuples, or strings.

The filter() function applies the condition on each element of the iterable object and checks which element satisfies the given condition. Based on that, it creates a new iterable containing only those elements that meet the condition.

The filter() is one of the built-in functions and does not require any module.

Syntax

The syntax of the Python filter() function is shown below −

filter(function, iterable)

Parameters

The Python filter() function accepts two parameters −

  • function − It specifies a condition based on which the elements of the iterables are filtered out.

  • iterable − It represents an object such as a list, string, or tuple.

Return Value

The Python filter() function returns a new iterable.

filter() Function Examples

Practice the following examples to understand the use of filter() function in Python:

Example: Basic Use of filter() Function

The following example shows the basic usage of Python filter() function. Here, this function accepts a lambda expression and a list object to filter out the even numbers from the specified list.

numerics = [59, 22, 71, 65, 12, 6, 19, 28, 17, 5]
lstOfevenNums = list(filter(lambda x: (x % 2 == 0), numerics))
print("The list of even numbers from the list:")
print(lstOfevenNums)

When we run above program, it produces following result −

The list of even numbers from the list:
[22, 12, 6, 28]

Example: Filter Vowels from String

In the code below, we have defined a user-defined function that will be passed to filter() function as an argument to check and separate vowels from the specified string.

def checkVowel(chars):
   vowelsLst = 'aeiou'
   return chars in vowelsLst
orgnlStr = "Tutorials Point"
newVowels = ''.join(filter(checkVowel, orgnlStr))
print("The vowels from the given string:")
print(newVowels)

Following is an output of the above code −

The vowels from the given string:
uoiaoi

Example: Remove Falsy Values from List

If we pass None as a function argument, the filter function will remove all elements from the iterable that are considered false. Some Falsy values in Python are "", 0, False, etc. The following code illustrates the same −

dataLst = [55, "", None, "Name", "Age", 25, None]
newLst = list(filter(None, dataLst))
print("The new list without None value:")
print(newLst)

Output of the above code is as follows −

The new list without None value:
[55, 'Name', 'Age', 25]

Example: Filter Records from Dictionary

In the code below a dictionary is created. Then the elements with an id lower than 100 are removed using the filter() function.

employees = [
   {"name": "Ansh", "id": 121},
   {"name": "Vivek", "id": 100},
   {"name": "Tapas", "id": 93}
]
newLst = list(filter(lambda x: (x['id'] >= 100), employees))
print("The new list with id greater than or equal to 100:")
print(newLst)

Following is an output of the above code −

The new list with id greater than or equal to 100:
[{'name': 'Ansh', 'id': 121}, {'name': 'Vivek', 'id': 100}]
python_built_in_functions.htm
Advertisements