from collections import OrderedDict my_list = [1, 2, 2, 3, 1, 4, 5, 3] # Method 1: Using collections.OrderedDict (most common and clear) # Keys in OrderedDict are unique and preserve insertion order. unique_list_ordered = list(OrderedDict.fromkeys(my_list)) # print(unique_list_ordered) # Output: [1, 2, 3, 4, 5] # Method 2: Using a loop with a set (more verbose but explicit) seen = set() unique_list_loop = [] for item in my_list: if item not in seen: unique_list_loop.append(item) seen.add(item) # print(unique_list_loop) # Output: [1, 2, 3, 4, 5]