Software Training Institute in Chennai with 100% Placements – SLA Institute

Easy way to IT Job

Share on your Social Media

Sets in Python

Published On: June 23, 2022

Introduction of Sets in Python

A Set is a collection of unordered data types that can be iterated, mutated, and do not contain any duplicate components. The set class in Python demonstrates the mathematical concept of a set. The primary benefit of using a set over a list is that it has a highly advanced method for determining if a particular component is in the set. Hash tables are the foundation for this system. Items in sets cannot be accessed via indexes, as they are not ordered as in lists.

Features of the Sets in Python

In Python, a set is a predefined data structure with the three properties listed below.

  • Unordered
  • Unchangeable
  • Unique

Unordered

The sets do not retain the order in which the elements were added to the set, in contrast to the lists. Whenever the set object is accessed, the items will always be arranged in a different order than before. As a result, each element in the set does not have an index value. 

Unchangeable

Items in a set must be unaltered once they are created. Set items could not be changed which means the values of items in the set could not be modified. However, any number of items could be added or removed from the Set. A set can be changed, but the elements within it need to be of an unchangeable/immutable type.

Unique

There can never be more than one item in the set with the same value.

Also, the sets are heterogeneous in nature such that it contains strings, integers, and booleans values. The sets in python include all types of data.

Creation of a set in Python

A set is formed by enclosing all the items/elements inside a pair of curly braces or by using the set() function.

Illustration

Months={“Jan”,”Feb”,”Mar”}

Seasons={“Summer”.”Winter”,”Spring”,Autumn”}

Dates={15,14,19}

print(Months)

print(Seasons)

print(Dates)

Output

After the execution of the above code, the result will be produced. It is to be noted that the order of the items/elements in the set is not the same and has changed.

set([‘Jan’, ‘Mar’, ‘Feb’])

set([“Autumn”, “Summer”,” Spring”,” winter”])

set([14,19,15])

Accessing The Values in a Set in Python

Individual values inside the set cannot be accessed. Rather, all the elements of the set can be accessed together. However, by means of looping through the set, individual elements’ lists can be obtained.

Illustration

Seasons=set([“Autumn”,”Summer”,”Winter”,”Spring”])

for s in Seasons:

print(s)

Output

The below output is obtained on the execution of the above code:

Summer

Autumn

Spring

Winter

Addition of Items to a Set

Elements to the set can be added by means of using add() function. No specific index is attached to the recently added element.

Illustration

Dates =set([“12″,”13″,”16″,”22″,”30″,”27”])

Dates.add(“18”)

print(Dates)

Output

The following result is obtained on thexecution of the “add” code

set([’12’, ’16’, ’13’, ’22’, ’18’, ’30’, ’27’])

Removing Item from a Set

Any element from the set can be removed by deploying the discard() or remove() method. Similar to add method. no specific index is used here, as elements of the set are not indexed.

Illustration

Directions=set([“East”,”West”,”South”,”North”])

Directions.discard(“West”)

print(Directions)

Output

The below result is obtained by means code execution 

set([‘East’, ‘North’, ‘South’])

Set Operations in Python

The sets in Python are commonly used for mathematical operations such as 

  • Union, 
  • Intersection, 
  • Difference, and 
  • Comparison, among others.

It is possible to create a set, access its components, and perform the above-mentioned mathematical operations.

Union of Sets in Python

In the sets in python, all the unique elements from the two sets can be combined into a single set on the execution of the Union operation of two sets. The common element in both sets here is number 17

Illustration

Num_set A = set([“18″,”3″,”17”])

Num_set B = set([“5″,”7″,”9″,”17″,”13”])

All Num_set = Num_setA|Num_setB

print(AllNum_set)

Output

The operation union of sets gives out the below result, where it is to note that the number 17 is included only once in the resultant set in python.

set([‘5′, ’18’, ’17’, ‘3’, ‘9’, ‘7’. ‘13’])

Intersection of Sets in Python

The common element in both the sets will be included in the resultant set on the application of intersection operation to the two sets. Be noted that the element “Mon” is available in both the sets below.

Illustration

DaysA = set([“Mon”,”Thu”,”Wed”])

DaysB = set([“Mon”,”Tue”,”Fri”,”Sun”,”Sat”])

AllDays = DaysA & DaysB

print(AllDays)

Output

On the execution of Intersection Operation, the below is obtained resultantly, as Mon is common in both sets.

set([‘Mon’]) 

Difference of Sets in Python

A difference operation on two sets yields A new set that includes only entries from the first set and nothing from the second. The item “March” is available in both of the sets in the illustration below, and hence it will not be observed in the resultant set.

Illustration

MonthsA = set([“Jan”,”Feb”,”March”])

DaysB = set([“Feb”,”March”,”August”,”November”,”September”])

Allmonths = MonthsA – MonthsB

print(AllMonths)

Output

On execution of the difference of set operation, the new set produced does not include the month “March” as it is present in both the sets and no element from the second set is found.

set([‘Jan’, ‘Feb’])

Compare Sets in Python

It is possible to determine whether a particular set is a subsection or superset of another set. A True or False result is determined by presence of elements are within the sets.

Illustration

MonthsA = set([“Jan”,”June”,”July”])

MonthsB = set([“Jan”,”Feb”,”April”,”June”,””,”July”,”September”])

SubsetRes = MonthsA <= MonthsB

SupersetRes = MonthsB >= MonthsA

print(SubsetRes)

print(SupersetRes)

Output

On execution of the Campare Operation, in sets, the following result is obtained

True

Frozen Sets in Python

A Frozenset is a class that has the properties of a set, but once its components have been assigned, those components are frozen and cannot be modified. Tuples and frozen sets can be viewed as immutable lists and sets, respectively.

Illustration

A = frozenset([2, 4, 6 , 4, 8, 10])

B = frozenset([3, 5, 7, 9, 11, 13])

print(A)

print(B)

This will result in:

frozenset({2, 4, 6, 8, 10, 12})

frozenset({3, 5, 7, 9, 11, 13})

Set Methods in Python

Some of the most frequently used Python set methods that have not yet covered will be discussed below.

copy()

This method gives you a duplicate of the given set.

Illustration

string_set = {“Nimme”, “Mike”, “Johny”, “Mark”}

A = string_set.copy()

print(A)

The output denotes that A is a copy of the set string_set:{‘Johny’, ‘Mike’, ‘Nimmi’, ‘Mark’}

isdisjoint()

This technique checks to see if the two sets in statement have an intersection. If there are no common items between the sets, this method reports True; or else, it reports False.

Illustration

Months_A = {“Jan”, “Feb”, “April”, “May”}

Months_B = {“June”, “July”, “March”, “September”}

C = Months_A.isdisjoint(Months_B)

print(C)

Since there is no items common in the two sets, the output is 

True

len()

If you want to know the number of items in a set, you can use this method to get it.

Illustration

Months A = {“January,” “March,” “May,” and “August”}

print(len(Months A))

The output indicates length of the set as following

4

Conclusion

Detailed explanations of sets in Python are provided in this guide. Both the mathematical and Pythonic definitions of sets are identical. The simplest definition of a set is that it is a group of unordered components. Even though the set can be changed(mutable), the items within it cannot. However, it is possible to add and remove items from a set arbitrarily. Elements are typically indexed in the vast majority of data structures. Set elements, on the other hand, really aren’t indexed. This prevents us from performing operations that focus on particular set components.

Share on your Social Media

Just a minute!

If you have any questions that you did not find answers for, our counsellors are here to answer them. You can get all your queries answered before deciding to join SLA and move your career forward.

We are excited to get started with you

Give us your information and we will arange for a free call (at your convenience) with one of our counsellors. You can get all your queries answered before deciding to join SLA and move your career forward.