Python Sets (With Examples)
By Lenin Mishra
Sets are an unordered collection of unique and immutable objects. It supports mathematical operations from the set theory.
An item appears only once in a set, no matter how many times it is added.
How to create a set?
You can use the set()
construct with iterables or
use curly braces {}
to create a set in Python.
Code
# EMpty set
x = set()
print(x)
# Using iterables
x = set("Pylenin")
print(x)
x = set([1, 2, 3, 4])
print(x)
# Using curly braces
x = {1, 2, 3, 4}
print(x)
Output
set()
{'l', 'y', 'e', 'P', 'i', 'n'}
{1, 2, 3, 4}
{1, 2, 3, 4}
You cannot declare a set by using empty curly braces. Python will assume its a dictionary.
Mathematical operations with sets
Set membership test
You can use the in
operator to check if an element exists in a set.
Code
x = {1, 2, 3, 4}
if 1 in x:
print("Element exists")
else:
print("Element doesn't exist")
Output
Element exists
Difference between 2 sets
In mathematical set theory, the difference of two sets(A & B) is
A - B
. It is the set of all elements of A that are not
elements of B. You can perform the same operation in Python
Code
x = {1, 2, 3, 4}
y = {2, 3, 4, 5}
print(x - y)
print(y - x)
Output
{1}
{5}
Union of 2 sets
The union of two sets A and B is the set of elements which are in A, B or in both A and B.
Code
x = {1, 2, 3, 4}
y = {2, 3, 4, 5}
print(x | y)
Output
{1, 2, 3, 4, 5}
Intersection of 2 sets
The intersection of two sets A and B are the set of elements which are in both A and B.
Code
x = {1, 2, 3, 4}
y = {2, 3, 4, 5}
print(x & y)
Output
{2, 3, 4}
Symmetric difference of sets
The symmetric difference of two sets A and B are the set of elements which are in A and B, but not common to A and B.
Code
x = {1, 2, 3, 4}
y = {2, 3, 4, 5}
print(x ^ y)
Output
{1, 5}
Using methods with sets
Adding elements to sets
To add elements to a set, you can use the add()
method.
Code
x = {1, 2, 3, 4}
x.add(10)
print(x)
Output
{1, 2, 3, 4, 10}
With add()
method, you can add only a single element.
To add multiple elements, use the update()
method.
Adding multiple elements to sets with update()
Code
x = {1, 2, 3, 4}
x.update([4, 5, 6, 7])
print(x)
x.update(["Pylenin", "Python"], {"greeting"})
print(x)
Output
{1, 2, 3, 4, 5, 6, 7}
{1, 2, 3, 4, 5, 6, 7, 'Python', 'Pylenin', 'greeting'}
Duplications are always avoided with sets.
Remove an element from a set
To remove an element from a set, use remove()
method.
Code
x = {1, 2, 3, 4}
x.remove(2)
print(x)
Output
{1, 3, 4}
If the element you are trying to remove doesn’t exist,
Python will throw a KeyError
.
To avoid getting such errors, use the discard()
method with sets.
Code/Output
x = {1, 2, 3, 4}
x.discard(20)
print(x)
>>> {1, 2, 3, 4}
x.remove(20)
print(x)
>>> KeyError: 20
Remove multiple elements from a set
To remove multiple elements from a set, use the clear()
method.
Code
x = {1, 2, 3, 4}
x.clear()
print(x)
Output
set()