Python Sets


A set in Python is an unordered collection of unique items. Like a dictionary in Python, there is no indexing of set elements. The sets are mutable which means we can add or remove elements from them.

Python sets can also be used to perform mathematical set operations such as union, intersection, set difference, etc.

In this article, you will learn about Python sets and different operations that can be performed on them.

How to create a set in Python

You can create a Python set in two ways first is by placing comma-separated elements inside the curly braces and the second is to use the set() function.

For example –

s = {2,5,9,4,1,5}

Or to create using set() use –

s1 = set([6,8,4,4,5,9])

Now when you print the set it will remove duplicate items there if any and get printed.

Adding elements to a set

There are two methods that you can use to add the elements to a set. These methods are given below.

Using add() method

You can add an item to a set using add() method.

s = {2,5,9,4,1,5}

to add 3 in this set we will use –

s.add(3)

Let us see the output in the given image –

Using update() method

By using the update() method you can add multiple items to a set. It takes tuples, lists, strings, or other sets as its argument.

For example –

s = {2,5,9,4,1,5}

to add 3,6,7,8 we will use –

s.update([3,6,7,8])

Now when you print this set you will see –

Removing elements from a set

There are different methods that can be used to remove elements from a set. The remove() method removes the element that you passed as the argument if elements not present in the set it will raise an error.

s = {2,5,9,4,1,5}

To remove 9 from this set we will use –

s.remove(9)

Removing an element that is not present will raise an error –

s.remove(6)

You can see this in the given image –

Similarly, you can use the discard() method to remove an element from a set. If the element is not present this will leave the set unchanged, like the remove() method this will not raise any error. An example of using the discard() method is –

s.discard(1)

Another method that you can use to remove an element from a set is the pop() method. This method randomly selects and deletes an item from the set.

For example –

s.pop()

Now if you want to remove all the elements of a set then use the clear() method. For example –

s.clear()

Looping in a set

You can use for loop to iterate over a set. Lets we have the set s.

s = {2,5,9,4,1,5}
# to iterate and print the set items use
for items in s:
    print(i)

This will print all the elements of set s.

Python set operations

On Python sets, you can perform mathematical set operations such as union, intersection, set difference, etc. You can use operators or methods provided in python.

Suppose we have two sets i.e. x and y we will perform set operations on them.

x={1,9,6,7,0,3}

y={5,1,9,4,7,2}

Set union operation

The union of two sets is the set of elements that are in both sets, common elements of both sets will be written once.

You can use one of the following statements to find the union of two sets.

# Use | operator to find the union of x and y
print (x|y)
# OR use union() method to find the union of x and y
print (x.union(y))

You can see the output in the given image –

Set intersection operation

The intersection of two sets is the set of elements that are common in both sets.

You can use one of the following statements to find the intersection of two sets.

# Use & operator to find the intersection of x and y
print (x|y)
# OR use intersection() method to find the intersection of x and y
print (x.intersection(y))

You can see the output in the given image –

Set difference

The x difference y is the set of elements that are present in set x and not in y. Similarly, y difference x is the set of elements that are present in set y and not in x.

When you execute the following statements you will see the difference of x and y, y and x –

# The given statement will print x difference y
print(x-y)
# Following statement will print y difference x
print(y-x)

The given image shows the output of the given program –

Symmetric difference

The symmetric difference of x and y is the set of elements that are in x and y and not in both (excluding intersection of set x and y). You can use the ^ operator or symmetric_difference() method to find the symmetric difference of two sets.

For example –

# Display symmetric difference of x and y using ^ operator
print(x^y)
# OR use symmetric_difference() method
print(x.symmetric_difference(y))

See the output of this in the given image –

You can find some more methods and use with python sets here.

Now if you have a query on this topic then write us in the comments below.

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.