Practical Examples
Real-World List Filtering Scenarios
1. Data Cleaning in Scientific Analysis
## Filtering out invalid scientific measurements
measurements = [
10.5, -2.3, 15.7, None, 22.1, 0, 18.6, -5.2, 30.0
]
## Remove None and negative values
valid_measurements = [
measurement for measurement in measurements
if measurement is not None and measurement > 0
]
print(valid_measurements)
## Output: [10.5, 15.7, 22.1, 18.6, 30.0]
2. E-commerce Product Filtering
## Filtering products based on multiple criteria
products = [
{'name': 'Laptop', 'price': 1200, 'stock': 5},
{'name': 'Smartphone', 'price': 800, 'stock': 0},
{'name': 'Tablet', 'price': 500, 'stock': 10},
{'name': 'Smartwatch', 'price': 250, 'stock': 3}
]
## Find available products under $1000
available_products = [
product for product in products
if product['price'] < 1000 and product['stock'] > 0
]
print(available_products)
Filtering Workflow Visualization
graph LR
A[Raw Data] --> B{Filtering Conditions}
B -->|Apply Filters| C[Processed Data]
B -->|Validate| D[Quality Checked Data]
3. Log File Analysis
## Filtering log entries by severity
log_entries = [
{'timestamp': '2023-06-01', 'level': 'ERROR', 'message': 'Connection failed'},
{'timestamp': '2023-06-02', 'level': 'INFO', 'message': 'System startup'},
{'timestamp': '2023-06-03', 'level': 'WARNING', 'message': 'Low disk space'},
{'timestamp': '2023-06-04', 'level': 'ERROR', 'message': 'Database connection error'}
]
## Extract critical log entries
critical_logs = [
entry for entry in log_entries
if entry['level'] in ['ERROR', 'CRITICAL']
]
print(critical_logs)
Filtering Techniques Comparison
Scenario |
Best Method |
Complexity |
Performance |
Simple Filtering |
List Comprehension |
Low |
High |
Complex Conditions |
Lambda + filter() |
Medium |
Good |
Large Datasets |
Generator Expressions |
High |
Excellent |
## Filtering user data based on multiple criteria
users = [
{'username': 'john_doe', 'age': 25, 'followers': 500, 'verified': True},
{'username': 'jane_smith', 'age': 30, 'followers': 1200, 'verified': False},
{'username': 'tech_guru', 'age': 35, 'followers': 2500, 'verified': True}
]
## Find influential verified users over 25
influential_users = [
user for user in users
if user['age'] > 25 and user['verified'] and user['followers'] > 1000
]
print(influential_users)
Advanced Filtering Techniques
Combining Multiple Filtering Methods
## Complex filtering with multiple techniques
numbers = list(range(1, 21))
## Filter even numbers, square them, and keep only those divisible by 4
advanced_filter = list(
filter(lambda x: x % 4 == 0,
[num ** 2 for num in numbers if num % 2 == 0])
)
print(advanced_filter)
LabEx Recommendation
At LabEx, we emphasize the importance of mastering list filtering techniques as a crucial skill for efficient data manipulation and processing in Python programming.