Practical Use Cases
Data Deduplication
def remove_duplicates(input_list):
"""Remove duplicate elements while preserving order"""
return list(dict.fromkeys(input_list))
## Example usage
original_data = [1, 2, 2, 3, 4, 4, 5]
unique_data = remove_duplicates(original_data)
print("Unique Data:", unique_data)
Frequency Analysis
def count_element_frequencies(data_list):
"""Calculate element frequencies"""
frequency_dict = {}
for item in data_list:
frequency_dict[item] = frequency_dict.get(item, 0) + 1
return frequency_dict
sample_data = ['apple', 'banana', 'apple', 'cherry', 'banana']
frequencies = count_element_frequencies(sample_data)
print("Element Frequencies:", frequencies)
Set Operations Workflow
graph TD
A[Input Sets] --> B{Operation Type}
B --> |Intersection| C[Common Elements]
B --> |Union| D[Combined Unique Elements]
B --> |Difference| E[Unique Elements]
def filter_and_transform(data_set):
"""Filter and transform numeric data"""
return [x * 2 for x in list(data_set) if x > 5]
numeric_set = {3, 6, 9, 12, 15}
filtered_data = filter_and_transform(numeric_set)
print("Filtered and Transformed:", filtered_data)
Use Case |
Set Conversion |
Performance |
Complexity |
Deduplication |
Fast |
O(n) |
Low |
Frequency Analysis |
Moderate |
O(n) |
Medium |
Data Filtering |
Efficient |
O(n) |
Medium |
Random Sampling
import random
def random_sample_from_set(data_set, sample_size):
"""Generate random sample from set"""
return random.sample(list(data_set), sample_size)
original_set = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
random_sample = random_sample_from_set(original_set, 3)
print("Random Sample:", random_sample)
Machine Learning Preprocessing
def prepare_ml_dataset(raw_data):
"""Prepare dataset for machine learning"""
unique_features = list(set(raw_data))
normalized_features = [x / max(unique_features) for x in unique_features]
return normalized_features
raw_feature_set = {10, 20, 30, 40, 50}
processed_features = prepare_ml_dataset(raw_feature_set)
print("Processed Features:", processed_features)
Error Handling and Validation
def validate_and_convert(input_data):
"""Validate and convert input data"""
try:
return list(set(input_data))
except TypeError:
print("Invalid input data type")
return []
## Example usage
valid_data = [1, 2, 3, 4, 5]
invalid_data = None
result_valid = validate_and_convert(valid_data)
result_invalid = validate_and_convert(invalid_data)
By exploring these practical use cases, you'll gain insights into the versatility of set-to-list conversions in Python programming.