How to Get Difference in Sets in Python

Muhammad Waiz Khan Feb 02, 2024
  1. Find Difference in Sets in Python Using set.symmetric_difference() Method
  2. Find Difference in Sets in Python Using the for Loop
  3. Find Difference in Sets in Python Using the XOR Operator
How to Get Difference in Sets in Python

This tutorial will explain the various ways to find the difference between the two sets in Python. By the difference, we mean the elements which are not common between the two sets.

For example:

set1 = set([1, 2, 3, 4, 5, 6])
set2 = set([2, 3, 6, 8])

The difference between these two sets should be 1,4,5,8.

Find Difference in Sets in Python Using set.symmetric_difference() Method

The set.symmetric_difference() method takes another set as input and returns the difference between them. The below example code explains how to use set.symmetric_difference() to get the elements that are not common in both sets and get the required difference set.

set1 = set([1, 2, 3, 4, 5, 6])
set2 = set([2, 3, 6, 8])

diff_set = set1.symmetric_difference(set2)
print(diff_set)

Output:

{1, 4, 5, 8}

Find Difference in Sets in Python Using the for Loop

To find the difference between the two sets, we can use the for loop to iterate through both sets and check if there is the same element in the other set and add it to the list if they are unique. And the elements which exist in both sets will be ignored.

Example code:

set1 = set([1, 2, 3, 4, 5, 6])
set2 = set([2, 3, 6, 8])

temp1 = [x for x in set1 if x not in set2]
temp2 = [x for x in set2 if x not in set1]
diff_set = set(temp1 + temp2)
print(diff_set)

Output:

{8, 1, 4, 5}

Find Difference in Sets in Python Using the XOR Operator

A simple way to find the difference between the sets is to apply the XOR operation on them, and this will drop the same elements and will only return elements that are not the same in both sets as required.

To implement this in code, we can use the ^ operator between two sets to get the desired set difference.

set1 = set([1, 2, 3, 4, 5, 6])
set2 = set([2, 3, 6, 8])

diff_set = set(set1) ^ set(set2)
print(diff_set)

Output:

{1, 4, 5, 8}

Related Article - Python Set