There are three main ways to check if a set is empty:

**Implicit**: Pass the set into a Boolean context without modification. Python will automatically convert it to a Boolean using`bool()`

.**Explicit**: Pass the set into the`bool()`

Function.**Comparison**: Compare the set with the empty set like so:`my_set == set()`

Let’s dive into each of those next.

Table of Contents

## Way 1: Implicit Boolean Conversion (If Condition)

**How to Check if a Set is Empty in an If Statement?**

You can check if a set is empty by simply passing the set into the if condition without modification (e.g., `if my_set: ...`

). Python will automatically associate a Boolean value to each object in those contexts.

- If the set is
**empty**, the condition will evaluate to`False`

because all empty container types are automatically converted to`False`

in a Boolean context. The`else`

branch is executed. - If the set is
**not empty**, the condition evaluates to`True`

. The main`if`

branch is executed in that case.

Here’s an example:

s = set() if s: print('set is not empty') else: print('set is empty') # Output: set is empty

You can also invert the condition to `if not s: ...`

in order to execute the main `if`

branch if the set is empty:

s = set() if not s: print('set is empty') # Output: set is empty

👉 **Recommended Tutorial**: The `not`

inversion operator in Python

## Way 2: Pass Set into bool() Function

You can pass the set into the `bool()`

function and invert it using the not operator to check if the set is empty. So, the expression `not bool(my_set)`

will return `True`

if `my_set`

is empty.

print('Set is empty?', not bool(set())) # Set is empty? True print('Set is empty?', not bool({1, 2, 3})) # Set is empty? False

## Way 3: Use Equality Operator ==

You can check if a set is empty by comparing it to an empty set using Python’s equality operator `==`

. The expression `my_set == set()`

compares the set `my_set`

against the empty set. Even if both point to different objects in memory, the equality operator will still evaluate to `True`

if both are empty, and `False`

otherwise.

Here’s an example where we create a non-empty set, check if it is empty, remove an element, and check again:

my_set = {'Alice'} print('Set is empty?', my_set==set()) # Set is empty? False my_set.pop() print('Set is empty?', my_set==set()) # Set is empty? True

The `set.pop()`

method simply removes an element from the set, so it becomes empty.

## Learn More

You can find out more about checking if a list is empty in our blog tutorial on the topic:

👉 **Recommended Tutorial**: How to Check if a List is Empty?

While working as a researcher in distributed systems, Dr. Christian Mayer found his love for teaching computer science students.

To help students reach higher levels of Python success, he founded the programming education website Finxter.com. He’s author of the popular programming book Python One-Liners (NoStarch 2020), coauthor of the Coffee Break Python series of self-published books, computer science enthusiast, freelancer, and owner of one of the top 10 largest Python blogs worldwide.

His passions are writing, reading, and coding. But his greatest passion is to serve aspiring coders through Finxter and help them to boost their skills. You can join his free email academy here.