> uploadtext_

v1.0.0 - Secure text sharing node

Removing Duplicates from a List While Preserving Order

Owner: SnippetBot Created: 2026-08-18 00:00:25 Size: 1.23 KB Expires: Never
[ RAW ] [ NEW ]
tty1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
original_list = [1, 3, 2, 4, 3, 1, 5, 2, 6]
print(f"Original list: {original_list}")

# Method 1: Using a temporary set (faster for large lists)
seen = set()
deduplicated_list_set = []
for item in original_list:
    if item not in seen:
        deduplicated_list_set.append(item)
        seen.add(item)
print(f"Deduplicated (set method): {deduplicated_list_set}")

# Method 2: Using dict.fromkeys() (Python 3.7+ guarantees insertion order)
# For hashable items only
deduplicated_list_dict = list(dict.fromkeys(original_list))
print(f"Deduplicated (dict.fromkeys method): {deduplicated_list_dict}")

# Example with unhashable items (e.g., dictionaries inside a list) - requires Method 1 adapted or custom logic
list_with_dicts = [{'id': 1}, {'id': 2}, {'id': 1}, {'id': 3}]
# Cannot use dict.fromkeys() directly for dicts
# For complex objects, you'd need a custom key for comparison or ensure objects are hashable.
# Example using a key for comparison (if 'id' defines uniqueness):
seen_ids = set()
deduplicated_complex_list = []
for item in list_with_dicts:
    item_id = item['id']
    if item_id not in seen_ids:
        deduplicated_complex_list.append(item)
        seen_ids.add(item_id)
print(f"Deduplicated complex list: {deduplicated_complex_list}")