Set in Python : All you Need to Know!

Set in Python
Rashid Khan Avatar


A set in Python is an unordered collection of unique elements. Sets are mutable, meaning that you can add or remove elements from them. Set in python are enclosed in curly braces `{}`, similar to dictionaries, but they contain only elements without key-value pairs.



# Creating a set

my_set = {1, 2, 3, 4, 5}


You can also read about : Python Dictionary

Key Characteristics

Key characteristics of Python Sets

1. Mutable: Sets can be modified after creation. You can add or remove elements from a set.

2. Unordered: Set in python are unordered collections, meaning that the order of elements is not guaranteed.

3. Unique Elements: Sets contain only unique elements. Duplicate elements are automatically removed.

4. Immutable Elements: Elements in a set in python must be immutable objects, such as numbers, strings, or tuples.

You can also read about : Difference Between List & Tuple

You can also read about : Python Data Types

Common Operations and Methods

  1. Adding Elements:

You can add elements to a set using the `add()` method or the `update()` method to add multiple elements.


# Adding a single element


# Adding multiple elements

my_set.update({7, 8, 9})


  1. Removing Elements:

To remove elements from a set, you can use the `remove()` method, the `discard()` method (which won’t raise an error if the element is not present), or the `pop()` method to remove and return an arbitrary element.


# Removing a specific element


# Removing an element safely


# Removing and returning an arbitrary element

element = my_set.pop()


  1. Set Methods:

union(): Returns a new set containing all unique elements from both sets.

intersection(): Returns a new set containing common elements between two sets.

difference(): Returns a new set containing elements that are present in the first set but not in the second set.

symmetric_difference(): Returns a new set containing elements that are present in either set, but not in both.

  1. Set Operations:
  1. Union (`|`): Combines elements from two sets, excluding duplicates.
  2. Intersection (`&`): Returns elements common to both sets.
  3. Difference (`-`): Returns elements present in the first set but not in the second.
  4. Symmetric Difference (`^`): Returns elements present in either set, but not in both.

# Define two sets

set1 = {1, 2, 3, 4, 5}

set2 = {4, 5, 6, 7, 8}

# Union (|)

union_set = set1 | set2

print(“Union:”, union_set)  # Output: {1, 2, 3, 4, 5, 6, 7, 8}

# Intersection (&)

intersection_set = set1 & set2

print(“Intersection:”, intersection_set)  # Output: {4, 5}

# Difference (-)

difference_set = set1 – set2

print(“Difference (set1 – set2):”, difference_set)  # Output: {1, 2, 3}

difference_set = set2 – set1

print(“Difference (set2 – set1):”, difference_set)  # Output: {6, 7, 8}

# Symmetric Difference (^)

symmetric_difference_set = set1 ^ set2

print(“Symmetric Difference:”, symmetric_difference_set)  # Output: {1, 2, 3, 6, 7, 8}

Use Cases in Set in Python

  1. Removing Duplicates: Sets are useful for removing duplicate elements from a list or collection of data.
  1. Membership Testing: Check whether an element exists in a set efficiently using membership testing operations.
  1. Set Operations: Perform set operations such as union, intersection, and difference to analyse data relationships.
  1. Filtering Data: Use sets to filter out unwanted or redundant elements from datasets.
  1. Finding Unique Values: Quickly find unique values in a dataset by converting it to a set.


Set in Python provide a powerful tool for handling collections of unique elements and performing set operations efficiently. Understanding set in python methods and operations enables efficient manipulation and analysis of data in Python.

Frequently Asked Questions (FAQs)

What is set data types in Python?

A set in Python used to store multiple items in a single variable. It is one of the four built-in data types (alongside List, Dictionary, and Tuple), each with distinct characteristics and uses. Sets are defined using curly brackets, and they are both unordered and unindexed collections.

The `set()` method in Python converts an iterable into a collection of unique elements, known as a set. This built-in constructor function is used to create an empty set or to initialize a set with specified elements.

Since set in python do not allow duplicate elements, they are highly effective for removing duplicate values from a list or tuple. Additionally, sets are useful for performing common mathematical operations such as unions and intersections.

The main distinction between a list and a set in python is that a list can contain duplicate values, whereas a set cannot. In Python, both lists and sets are built-in data structures used for storing and organizing values. In contrast, in Java, lists and sets are interfaces within the collection framework.

Python includes both mutable and immutable collection data types. Strings and tuples are immutable, whereas lists, dictionaries, and sets are mutable.

Tagged in :

More Articles & Posts


We will help you achieve your goal. Just fill in your details, and we'll reach out to provide guidance and support.