Sets in Python

Sets in Python

Set is an unordered collection of unique elements. Items in sets are immutable which can not be replaced or changed. Elements of a set can not be accessed using indexing or a set can not be sliced.

Creation of a Set in Python

There are two methods to create a set in Python. The first one is set() function and the second is to use curly braces {}.

1- Creating a Set in Python Using Curly Brace {}

To create a set using {} is very simple for example
>>>set1={1,2,3,3,4,5}
>>>print(set1)
Output: {1, 2, 3, 4, 5} # Duplicate elements are not allowed

1- Creating a Set in Python using set() Function

>>> set1=set([1,2,3,3,4,5])
>>>print(set1)
{1, 2, 3, 4, 5} # Duplicate elements are not allowed

Print Set Elements

As set’s elements can not be indexed or sliced you have to print whole set.
>>> for s in set1:
… print(s)

add() function is used to an element in a set for example.
If you want to add an element 6, then it will be done in the following way.
>>>print(set1)
Output: {1, 2, 3, 4, 5, 6}

Remove Elements of a Set

There are two in-built methods to remove an element from a set.
1-remove()
The only difference between is that, if an element is not present in set then remove() function will through an error. However, discard() will not
through an error and silently print the original set.
For example,
>>>set1.remove(4)
>>>print(set1)
Output:{1, 2, 3, 5, 6}

If you remove 7 from the set set1, the interpreter will through the following error.
>>>set1.remove(7)
Original exception was:
Traceback (most recent call last):
File “”, line 1, in
KeyError: 7
If you use discard function, it will not through any error.
>>>print(set1)
Output:{1, 2, 3, 5, 6}

Set Operations in Python

Set operations union, intersection, difference and symmetric difference can be performed of sets as in mathematics.

Here, define another set set2.

>>>set2={5,6,7,8,9,10}

Union Operation

Then | symbol is used to perform union operation between two sets, then union of sets set1 and set2 is set3.
>>> set3=set1|set2
>>> print(set3)
Output: {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}

Intersection Operation

Symbol & is used to perform intersection operation between two sets, then intersection of sets set1 and set2 is set3.
>>> set3=set1&set2
>>> print(set3)
Output: {5, 6}

Set-Difference Operation

>>> set3=set1-set2
>>>print(set3)
{1, 2, 3, 4}

Symmetric Difference of Two Sets

Symmetric difference of two sets is defined as below in terms of union, difference and intersection.
That is
set3= set1|set2-set1 & set2

However, Python provides symbol ^ for direct symmetric difference of two sets.
>>> set3=set1^set2
>>> print(set3)
{1, 2, 3, 4, 7, 8, 9, 10}