Creating Empty Sets in Python: A Step-by-Step Guide


Are you new to Python programming and want to learn how to create empty sets in Python? Look no further! In this step-by-step guide, we will cover the basics of creating empty sets in Python.

Before diving into the details of creating empty sets, let’s first define what a set is.

What are Sets in Python?

Sets in Python are a collection of unique and unordered elements. The elements can be of any data type such as integers, strings, or even other sets. However, unlike lists or tuples, sets do not allow duplicated values.

Sets are defined by enclosing a comma-separated sequence of elements within curly braces {}. Alternatively, you can also create an empty set using the built-in set() function.

Here’s an example of creating a set in Python:

# creating a set
my_set = {1, 2, 3, 'apple', 'banana'}

# printing the set


{1, 2, 3, ‘apple’, ‘banana’}

In the above example, we have created a set named `my_set` that contains integers and strings. The output shows that the order of elements is not maintained in sets.

It’s important to note that you cannot access items in a set using indexing or slicing because sets are unordered. However, you can iterate over the elements in a set using a loop.

# iterating over a set
for item in my_set:



Sets are mutable objects which means you can add or remove elements from them. We will cover this topic in more detail later in this guide.

Now that you understand what sets are in Python and how to create them, let’s move on to creating empty sets.

Creating an Empty Set

In Python, a set is an unordered collection of unique elements. To create an empty set, there are two ways to do it.

The first way is to use the built-in `set()` function without passing any arguments. Here’s an example:

my_set = set()



As you can see, the `set()` function creates an empty set and assigns it to the variable `my_set`. When we print `my_set`, we get an empty set as expected.

The second way to create an empty set is to use a set literal with empty curly braces `{}`. However, this method has a caveat. If you just use `{}` to create an empty set, you’ll actually end up creating an empty dictionary instead. Here’s what happens:

my_set = {}


<class ‘dict’=””>

As you can see, `type()` function tells us that `my_set` is of type dictionary instead of set.

To create an empty set using curly braces, you need to add the `set` keyword before the curly braces like this:

my_set = set({})



This way, Python knows that you want to create a new set and not a dictionary.

In conclusion, there are two ways to create an empty set in Python: using the built-in `set()` function or using a set literal with empty curly braces `{}` with the addition of the `set` keyword.

Using the set() Constructor

One way to create an empty set in Python is by using the set() constructor. The set() constructor creates a new empty set object. Here’s an example:

my_set = set()

In the code above, we create a new empty set object called `my_set`. We can then add elements to this set using the `.add()` method:


We can also use the `set()` constructor to create a set with initial values:

my_set = set([1, 2, 3])

In the code above, we pass a list of values `[1, 2, 3]` to the `set()` constructor. This creates a new set object containing these values.

It’s important to note that sets are unordered collections of unique elements. This means that if we try to add an element that already exists in the set, it will not be added again:

my_set = set([1, 2, 3])
print(my_set) # prints {1, 2, 3}

In the code above, we try to add the value `2` to `my_set`, even though it already exists in the set. However, since sets only contain unique elements, the value is not added again and the output remains `{1, 2, 3}`.

Using the `set()` constructor is a simple and effective way to create empty sets in Python.

Using Curly Braces {}

One of the easiest ways to create an empty set in Python is by using curly braces {}. Curly braces are often used to define a dictionary in Python, but they can also be used to define a set.

Here’s an example:

my_set = {}


<class ‘dict’=””>

As you can see from the output, using curly braces to create a set doesn’t work as expected. Instead, it creates an empty dictionary.

To create an empty set using curly braces, you need to add a colon after the curly braces, like this:

my_set = set({})


<class ‘set’=””>

In this example, we first create an empty dictionary using curly braces and then pass it as an argument to the `set()` function. This creates an empty set.

Keep in mind that if you try to create an empty set using just a pair of empty curly braces, Python will interpret it as an empty dictionary instead of an empty set. Therefore, it’s important to use the `set()` function to create an empty set.

Adding Elements to a Set

In Python, sets are unordered collections of unique elements. They are used to perform mathematical set operations like union, intersection, and difference.

To create an empty set in Python, you can use the `set()` function or simply use a pair of empty curly braces `{}`. Here’s an example:

empty_set = set()
print(empty_set)  # Output: set()

Now that we have an empty set, let’s add some elements to it. You can add elements to a set using the `add()` method or the `update()` method.

The `add()` method adds a single element to the set. If the element is already present in the set, it does not add it again. Here’s an example:

my_set = {1, 2, 3}
print(my_set)  # Output: {1, 2, 3, 4}

# Adding an element that already exists in the set
print(my_set)  # Output: {1, 2, 3, 4} (no duplicates added)

The `update()` method adds multiple elements to the set at once. It takes an iterable as an argument and adds each element of the iterable to the set. Here’s an example:

my_set = {1, 2, 3}
my_set.update([4, 5])
print(my_set)  # Output: {1, 2, 3, 4, 5}

# Adding elements from another set
other_set = {6, 7}
print(my_set)  # Output: {1, 2, 3, 4, 5, 6, 7}

In conclusion, adding elements to a set in Python is straightforward. You can use the `add()` method to add single elements or the `update()` method to add multiple elements at once.


In conclusion, creating empty sets in Python is a simple process that can be done using either the set() function or by using curly braces {}. Both methods are equally valid and produce the same result. Empty sets are useful when you need to create a container that can hold unique values without any duplicates.

It is important to note that empty curly braces {} are also used to create an empty dictionary in Python. Therefore, it is recommended to use the set() function when creating an empty set to avoid confusion.

In addition, once you have created an empty set, you can add elements to it using the add() method or by using the update() method with another set or iterable object as an argument. You can also remove elements from a set using the remove() or discard() methods.

Overall, understanding how to create and manipulate empty sets in Python is a fundamental skill that can come in handy when working with data structures and performing various operations on them.
Interested in learning more? Check out our Introduction to Python course!

How to Become a Data Scientist PDF

Your FREE Guide to Become a Data Scientist

Discover the path to becoming a data scientist with our comprehensive FREE guide! Unlock your potential in this in-demand field and access valuable resources to kickstart your journey.

Don’t wait, download now and transform your career!

Pierian Training
Pierian Training
Pierian Training is a leading provider of high-quality technology training, with a focus on data science and cloud computing. Pierian Training offers live instructor-led training, self-paced online video courses, and private group and cohort training programs to support enterprises looking to upskill their employees.

You May Also Like

Data Science, Tutorials

Guide to NLTK – Natural Language Toolkit for Python

Introduction Natural Language Processing (NLP) lies at the heart of countless applications we use every day, from voice assistants to spam filters and machine translation. It allows machines to understand, interpret, and generate human language, bridging the gap between humans and computers. Within the vast landscape of NLP tools and techniques, the Natural Language Toolkit […]

Machine Learning, Tutorials

GridSearchCV with Scikit-Learn and Python

Introduction In the world of machine learning, finding the optimal set of hyperparameters for a model can significantly impact its performance and accuracy. However, searching through all possible combinations manually can be an incredibly time-consuming and error-prone process. This is where GridSearchCV, a powerful tool provided by Scikit-Learn library in Python, comes to the rescue. […]

Python Basics, Tutorials

Plotting Time Series in Python: A Complete Guide

Introduction Time series data is a type of data that is collected over time at regular intervals. It can be used to analyze trends, patterns, and behaviors over time. In order to effectively analyze time series data, it is important to visualize it in a way that is easy to understand. This is where plotting […]