In Python, to find all duplicate elements of a list, we have to first understand the mathematical concept of a set.
A set contains only a list of **distinct** elements. Python provides the same concept with the same name, **set**.

In the example below, we will exploit the property of a set. We will read through a list of numbers and put each number into a set called **seen**.
Since **seen** is a set, any duplicate numbers that we are trying to add are ignored. As result, **seen** will only hold a list of unique numbers.
However, the numbers inside a **set** are stored in order. To keep the ordering and still get a list of unique numbers, we
simply introduce another variable called **unique**. Numbers are added in **unique** variable at time that we add numbers in the **seen** variable.

my_list = [ 1, 5, 2, 4, 2, 5 ] seen = set() unique = [] duplicate = [] for x in my_list: if x not in seen: unique.append(x) seen.add(x) else: duplicate.append(x) print(duplicate, " are duplicates.") print(unique, " are unique.")

**Output**

[2, 5] are duplicates. [1, 5, 2, 4] are unique.

# Github

- https://github.com/xuanngo2001/python-examples/blob/master/list/find-duplicated-in-list.py