Practical Filter Examples
Real-World Data Filtering Scenarios
Filtering Numerical Data
def analyze_temperature_data(temperatures):
## Filter temperatures within acceptable range
normal_temps = [temp for temp in temperatures if 20 <= temp <= 35]
## Calculate statistics
return {
'normal_count': len(normal_temps),
'average': sum(normal_temps) / len(normal_temps) if normal_temps else 0
}
weather_data = [18, 22, 25, 30, 35, 40, 15, 28, 33]
result = analyze_temperature_data(weather_data)
print(result)
Filtering Complex Data Structures
employees = [
{'name': 'Alice', 'department': 'IT', 'salary': 75000},
{'name': 'Bob', 'department': 'HR', 'salary': 65000},
{'name': 'Charlie', 'department': 'IT', 'salary': 85000},
{'name': 'David', 'department': 'Finance', 'salary': 70000}
]
def filter_high_performers(employees):
## Filter IT department employees with salary > 80000
return [
emp for emp in employees
if emp['department'] == 'IT' and emp['salary'] > 80000
]
high_performers = filter_high_performers(employees)
print(high_performers)
Data Cleaning and Validation
def clean_user_input(user_inputs):
## Remove empty strings and None values
return list(filter(lambda x: x and x.strip(), user_inputs))
raw_inputs = ['', 'Alice', None, ' ', 'Bob', ' Charlie ']
cleaned_inputs = clean_user_input(raw_inputs)
print(cleaned_inputs)
Filtering Workflow Visualization
graph TD
A[Raw Data] --> B{Filter Conditions}
B --> |Condition 1| C[Filtered Set 1]
B --> |Condition 2| D[Filtered Set 2]
B --> |Multiple Conditions| E[Final Filtered Result]
Advanced Filtering Techniques
Combining Multiple Filters
def advanced_data_filter(data_set, *filter_conditions):
result = data_set
for condition in filter_conditions:
result = list(filter(condition, result))
return result
products = [
{'name': 'Laptop', 'price': 1000, 'stock': 50},
{'name': 'Phone', 'price': 500, 'stock': 20},
{'name': 'Tablet', 'price': 300, 'stock': 10}
]
filtered_products = advanced_data_filter(
products,
lambda p: p['price'] > 400,
lambda p: p['stock'] > 30
)
print(filtered_products)
Filter Strategy Comparison
Filter Method |
Use Case |
Performance |
Flexibility |
List Comprehension |
Simple filtering |
High |
Low |
filter() function |
Functional approach |
Moderate |
Medium |
Custom Filter Functions |
Complex conditions |
Flexible |
High |
Error-Resistant Filtering
def safe_filter(data, filter_func, default=None):
try:
return list(filter(filter_func, data))
except Exception as e:
print(f"Filtering error: {e}")
return default or data
LabEx Recommendation
Practice these filtering techniques in LabEx's interactive Python environments to master real-world data manipulation skills.