Python Set Data Type Tutorial – Complete Guide

In the world of Python programming, understanding different data types is crucial to building reliable and efficient code. One such essential data type is Python Sets. Let’s dive into understanding this significant feature, making your Python coding experience smoother, more efficient, and yes, more fun!

What is a Python Set?

A Python Set is a built-in data type that holds an unordered collection of unique items. A set is mutable, meaning we can modify it after its creation. However, the uniqueness of the set means no duplicate items can exist within it.

Why Use Python Sets?

Sets in Python provide a myriad of benefits to the coder:

  • They eliminate any duplicate entities in the data because of their uniqueness.
  • They let you perform mathematical set operations like union, intersection, difference, etc.
  • Searching for an item in a set is faster than searching for it in a list or tuple.

Why Should I Learn About Python Sets?

With the advantages mentioned, Python sets are undoubtedly a vital tool in a developer’s toolbox. Their mathematical qualities, quick search times, and ability to deal with unique data make them perfect for various real-world scenarios – from simple game mechanics to complex data analysis tasks. Grasping this concept will elevate your Python coding skills, providing a more polished and professional touch to your projects.

CTA Small Image




Creating a Set in Python

Creating a set is as simple as placing different comma-separated values between braces { }. Let’s create a simple set:

# Initializing a Set
set1 = {1, 2, 3, 4, 5}

The output of the above code will be {1, 2, 3, 4, 5}. Notice that the elements in the set are unordered.

Adding Elements to a Set

You can add a single element using the add() method, and multiple elements using the update() method. Let’s observe this:

# Adding elements to set1
set1.update([7, 8])

The output will be {1, 2, 3, 4, 5, 6, 7, 8}.

Removing Elements from a Set

To remove elements from a set, you can use the remove() or discard() method. The difference between the two is that the remove() function will raise an error if the specified item does not exist, while the discard() function will not:

# Removing elements from set1

The output will be {1, 2, 3, 4, 5, 6}.

Python Set Operations

Sets support several methods that can be used to perform operations that are similar to mathematical set operations:

  • Union is performed using | operator. Same can be accomplished using the union() method.
  • Intersection is performed using & operator. Same can be accomplished using the intersection() method.
  • Difference of the set is performed using – operator. Same can be accomplished using the difference() method.

Below are examples of these operations:

set2 = {5, 6, 7, 8}

#Union of sets
print(set1 | set2)
#Output: {1, 2, 3, 4, 5, 6, 7, 8}

#Intersection of sets
print(set1 & set2)
#Output: {5, 6}

#Difference of sets
print(set1 - set2)
#Output: {1, 2, 3, 4}

By mastering these basics, you’ll be able to use Python sets efficiently for your coding needs.

Set Comparison Operations

Sets in Python also support comparison operations like subset, superset, etc.

set3 = {1, 2, 3}

#Checking if set3 is subset of set1
print(set3 = set3)
#Output: True

Frozen Sets

Python provides another built-in type called a frozenset, which is in all respects exactly like a set, except that a frozenset is immutable. You can do everything to a frozenset that you can do to a set, except that since they’re immutable, they can’t be changed once they’re created.

frozen = frozenset([1, 2, 3, 4, 5])

Iterating Through a Set

You can iterate through each item in a set using a for loop. Here’s how we do it:

for item in set1:

Checking if Item Exists

To check if an item exists in a set, use the in keyword:

print(1 in set1)
#Output: True

print(9 in set1)
#Output: False

Length of a Set

To determine the number of items in a set, use the len() function:

#Output: 6

These examples should provide a solid base from which you can further explore, experiment, and incorporate Python sets into your projects. Sets can be quite handy and operationally powerful – something worth having up your Pythonic sleeve.

Where to Go Next?

Now that you understand and can perform operations with Python sets, where do you move on to next? Every exploration in Python adds to your growing knowledge and ability, equipping you with the skills needed to tackle more complex problems and projects.

At Zenva, we are dedicated to the continual learning journey. We offer an extensive range of online programming courses – from beginner to professional level – covering various topics like game development, artificial intelligence, and of course, Python programming. We are proud to support over 250 courses designed to empower you in your coding career while fitting easily into your life with our flexible learning environment.

One of our standout offerings, ideal for extending your Python knowledge, is our Python Mini-Degree course. This comprehensive collection of Python programming courses is designed to take you from Python basics right through to creating your own games, working apps and robust algorithms.

Some key highlights of the Python Mini-Degree include:

  • Comprehensive, in-depth coursework that covers various aspects of Python programming.
  • Creates a strong foundation in coding basics, algorithms, and object-oriented programming.
  • Practical application focus with real-world projects and examples.
  • Certificates of completion, offering a tangible addition to your professional portfolio.
  • Curriculum designed to cater not only to beginners but also learners with more experience.
  • Flexible courses, accessible 24/7, with coding challenges and quizzes to reinforce learning.

Python programming and the right understanding of its versatile data types is a skill in high demand in today’s job market, notably in data science and related industries. Whether you’re a beginner stepping into the coding world or an experienced coder looking to enhance your skills, our Python Mini-Degree can prove to be a valuable resource.

We also offer a broader range of individual Python courses that can tailor to your specific learning goals. Check out our selection of Python courses to find a course to take your Python skills to the next level.

At Zenva, we believe in the power of continual learning and exploration. Let’s keep this Python journey going!


Python sets are great tools to efficiently handle data in your Python programs. With their ability to store unique elements, perform fast lookups, and execute crucial operations like union, intersection, and difference, they offer a significant advantage, whether you’re designing intricate data analysis algorithms or developing a game.

We encourage you to understand and explore Python sets to see how they can enhance your programming skills and streamline your projects. If you’re ready to level up your Python programming journey, consider checking our Python Mini-Degree course at Zenva. It’s time to push your coding boundaries and step up your game – happy learning!


Python Blog Image

FINAL DAYS: Unlock coding courses in Unity, Unreal, Python, Godot and more.