# Remove common elements from two list in Python

• Difficulty Level : Medium
• Last Updated : 19 Dec, 2021

Given two lists, the task is to write a Python program to remove all the common elements of two lists.

Examples:

Input : list1 = [1, 2, 3, 4, 5]

list2 = [4, 5, 6, 7, 8,]

Output : list1 = [1, 2, 3]

list2 = [6, 7, 8]

Explanation: Lists after removing common elements of  both the lists i.e, 4 and 5.

Input : list1 = [1, 2, 3]

list2 = [1, 2, 3]

Output :  list1 = []

list2 = []

Explanation: They have all the elemen

n common in

between them.

## Method 1: Using Remove() Method

The remove() method removes the first matching element (which is passed as an argument) from the list.

## Python3

 `# Python program to remove common elements``# in the two lists using remove method``def` `remove_common(a, b):`` ` `    ``for` `i ``in` `a[:]:``        ``if` `i ``in` `b:``            ``a.remove(i)``            ``b.remove(i)`` ` `    ``print``(``"list1 : "``, a)``    ``print``(``"list2 : "``, b)`` ` `if` `__name__ ``=``=` `"__main__"``:`` ` `    ``a ``=` `[``1``, ``2``, ``3``, ``4``, ``5``]``    ``b ``=` `[``4``, ``5``, ``6``, ``7``, ``8``]`` ` `    ``remove_common(a, b)`

Output:

```list1 :  [1, 2, 3]
list2 :  [6, 7, 8]```

## Method 2: Using List Comprehension

List comprehension gives a shorter syntax when you want to create a new list based on the elements of the existing list.

## Python3

 `# Python program to remove common elements``# in the two lists using list comprehension``def` `remove_common(a, b):`` ` `    ``a, b ``=` `[i ``for` `i ``in` `a ``if` `i ``not` `in` `b], ``    ``[j ``for` `j ``in` `b ``if` `j ``not` `in` `a]`` ` `    ``print``(``"list1 : "``, a)``    ``print``(``"list2 : "``, b)`` ` `if` `__name__ ``=``=` `"__main__"``:`` ` `    ``a ``=` `[``1``, ``2``, ``3``, ``4``, ``5``]``    ``b ``=` `[``4``, ``5``, ``6``, ``7``, ``8``]`` ` `    ``remove_common(a, b)`

Output:

```list1 :  [1, 2, 3]
list2 :  [6, 7, 8]```

## Method 3: Using Set’s difference operator

The difference operator – gets items in the first set but not in the second.

## Python3

 `# Python program to remove common elements``# in the two lists using Set’s difference``# operator``def` `remove_common(a, b):`` ` `    ``a, b ``=` `list``(``set``(a) ``-` `set``(b)), ``    ``list``(``set``(b) ``-` `set``(a))`` ` `    ``print``(``"list1 : "``, a)``    ``print``(``"list2 : "``, b)`` ` ` ` `if` `__name__ ``=``=` `"__main__"``:`` ` `    ``a ``=` `[``1``, ``2``, ``3``, ``4``, ``5``]``    ``b ``=` `[``4``, ``5``, ``6``, ``7``, ``8``]`` ` `    ``remove_common(a, b)`

Output:

```list1 :  [1, 2, 3]
list2 :  [6, 7, 8]```

## Method 4: Using Python Set difference() Method

The difference() method in python returns a set that contains the difference between two sets i.e, the returned set contains items that exist only in the first set and excludes elements present in both sets.

## Python3

 `# Python program to remove common elements``# in the two lists using Set difference()``# method``def` `remove_common(a, b):`` ` `    ``a, b ``=` `list``(``set``(a).difference(b)), ``list``(``set``(b).difference(a))`` ` `    ``print``(``"list1 : "``, a)``    ``print``(``"list2 : "``, b)`` ` `if` `__name__ ``=``=` `"__main__"``:`` ` `    ``a ``=` `[``1``, ``2``, ``3``, ``4``, ``5``]``    ``b ``=` `[``4``, ``5``, ``6``, ``7``, ``8``]`` ` `    ``remove_common(a, b)`

Output:

```list1 :  [1, 2, 3]
list2 :  [6, 7, 8]```

My Personal Notes arrow_drop_up