Python’s filter()
function is a powerful tool for performing iterative data filtering based on a given condition. In this article, we’ll delve into the intricacies of the filter()
function, exploring its syntax, usage, and real-world examples.
Understanding the filter() Function:
The filter()
function in Python is used to filter elements from an iterable (such as lists, tuples, or sets) based on a specified condition. It takes two arguments: a function that defines the filtering condition and an iterable to be filtered. Let’s dive into some examples:
1. Basic Usage:
# Define a filtering function
def is_even(num):
return num % 2 == 0
# Filter even numbers from a list
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
filtered_numbers = filter(is_even, numbers)
# Convert the filtered result to a list
even_numbers = list(filtered_numbers)
print(even_numbers)
Output:
[2, 4, 6, 8, 10]
In this example, the is_even()
function defines the filtering condition, and filter()
applies this condition to the numbers
list, returning only the even numbers.
2. Using Lambda Functions:
Lambda functions provide a concise way to define simple functions inline. They are commonly used with filter()
for one-time filtering operations. Let’s see an example:
# Filter positive numbers from a list using a lambda function
numbers = [-3, -2, -1, 0, 1, 2, 3]
positive_numbers = list(filter(lambda x: x > 0, numbers))
print(positive_numbers)
Output:
[1, 2, 3]
Filtering Names by Length
Let’s use the filter()
function to filter names from a list based on their length:
# List of names
names = ["Alice", "Bob", "Ciby", "Deego", "Eve", "Fini"]
# Filter names with length greater than 4
long_names = list(filter(lambda name: len(name) > 4, names))
print(long_names)
Output:
['<code class="language-python">Ciby
', 'Deego
', 'Fini
']