## Python program to check if two sets are equal:

Python `set`

is an inbuilt data type and it is used to store collection of data. `set`

doesn’t allow any duplicate elements and its items are *unordered* and *un-indexed*. If two sets have the same elements(in any order), these are considered equal.

This post will show you how to check if two sets are *equal* or not. We will learn two different ways to do that.

### Method 1: By using the `==`

operator:

We can check if two *sets* are equal or not by using the `==`

operator. It will check if two *sets* are equal or not and return one *boolean* value. It returns `True`

if the elements of the sets are equal. Else, it returns `False`

. The order of the elements in the set is not considered for the comparison.

For example:

```
first_set = {'one', 'two', 'three'}
second_set = {'one', 'two', 'three'}
print(first_set == second_set)
```

It will print:

`True`

Similarly, if we have different elements in the sets:

```
first_set = {'one', 'two', 'three'}
second_set = {'one', 'two', 'three', 'four'}
print(first_set == second_set)
```

It will print:

`False`

For the following example:

```
first_set = {'one', 'two', 'three', 'one'}
second_set = {'one', 'two', 'three'}
print(first_set == second_set)
```

It will print `True`

because we can’t have duplicate items in a set. So, the set `{'one', 'two', 'three', 'one'}`

is equal to `{'one', 'two', 'three'}`

.

Download the program on Github

### Method 2: By using `!=`

operator:

The operator `!=`

or *not equal to* can be used to check if one set is not equal to another set. It will return `True`

if the sets are not equal and `False`

otherwise. Let’s try it with an example:

```
first_set = {'one', 'two', 'three', 'one'}
second_set = {'one', 'two', 'three'}
third_set = {'one', 'two', 'three', 'four'}
print(first_set != second_set)
print(first_set != third_set)
```

Download the program on Github

It will print `False`

for the first one and `True`

for the second one.

### Method 3: By using the `symmetric_difference()`

method:

We can also use the `symmetric_difference`

method to find the difference between two sets. The `symmetric_difference`

method is defined as below:

`set1.symmetric_difference(set2)`

The `summetric_difference()`

method returns one *set* with *zero elements* if both hold similar elements. Otherwise, it will return the elements which are not common in the sets. We can check the length of the returned set to find if both are *equal or not*. The `len()`

method can be used to check the length of the returned set. The return value of this method will be *0* if the sets are equal.

Below is the complete program:

```
first_set = {'one', 'two', 'three'}
second_set = {'one', 'two', 'three', 'one'}
if len(first_set.symmetric_difference(second_set)) == 0:
print('Both sets are equal')
else:
print('Sets are not equal')
```

Download the program on Github

If you run this program, it will print the below output:

`Both sets are equal`

### Can we use the `difference()`

method to check if two sets are equal or not?

We can’t use the `difference()`

method to check for set equality. The syntax of the `difference`

method is:

`set1.difference(set2)`

It will return the elements that are in `set1`

but not in `set2`

. If the `set1`

is a subset of `set2`

, it will return an empty set. e.g.

```
first_set = {'one', 'two', 'three'}
second_set = {'one', 'two', 'three', 'four'}
if len(first_set.difference(second_set)) == 0:
print('Both sets are equal')
else:
print('Sets are not equal')
```

Even though the sets `first_set`

and `second_set`

are not equal, it will print those as equal.

`Both sets are equal`

### You might also like:

- Python program to check if a subarray is in an array
- How to calculate gross pay for hourly paid employees in Python
- Python program to find the volume of a tetrahedron
- Python program to search for a text in a file
- How to insert an item to the start of an Ordered dictionary in Python
- How to write a simple stopwatch in python