Exercise 2 solution def unique_in_order(items): return list(dict.fromkeys(items)) def unique_in_order_set(items): seen = set() out = [] for x in items: if x not in seen: seen.add(x) out.append(x) return out data = [3, 1, 3, 2, 1, 4] print(unique_in_order(data), unique_in_order_set(data)) Output: [3, 1, 2, 4] [3, 1, 2, 4] list(set(items)) removes duplicates but a set makes no promise about order, so the first-seen order is not guaranteed. A dict does guarantee insertion order, and dict.fromkeys keeps only the first occurrence of each key.