How to Use Python Set Data Type

Introduction

Python set data type is an unordered, mutable collection that does not allow duplicate elements. It can be useful for tasks such as membership testing, removing duplicates from a sequence, and mathematical set operations like union, intersection, and difference.

This guide shows you how to use the Python set data type.

Prerequisites

Before you begin, ensure you've:

  • Deployed a VPS server, for instance, Ubuntu 24.04.
  • Created a non-root sudo user.
  • Installed Python.

Declare a set Data Type

To declare a set in Python, you can use curly braces {} or the set() function. Sets are initialized with values separated by commas.

Python
# Example of creating a set using curly braces
fruits = {'apple', 'banana', 'cherry'}

# Example of creating an empty set and then adding elements
vegetables = set()
vegetables.add('carrot')
vegetables.add('potato')

print(fruits)        # Output: {'apple', 'banana', 'cherry'}
print(vegetables)    # Output: {'carrot', 'potato'}

Explore Key Features of set Data Type

Sets in Python have several key features:

  • Unordered: The elements do not have a defined order.
  • Immutable elements: Elements within the set must be immutable (For instance, strings, numbers, tuples).
  • No duplicates: Sets automatically remove duplicate elements.

You can perform various operations on sets:

Python
# Define two sets
set_a = {1, 2, 3, 4}
set_b = {3, 4, 5, 6}

# Union
print(set_a | set_b)  # Output: {1, 2, 3, 4, 5, 6}

# Intersection
print(set_a & set_b)  # Output: {3, 4}

# Difference
print(set_a - set_b)  # Output: {1, 2}

# Symmetric Difference
print(set_a ^ set_b)  # Output: {1, 2, 5, 6}

Follow Python set Naming Conventions

When naming Python sets, use descriptive names that indicate the purpose or the contents of the set. Use lowercase letters and separate words with underscores (_).

Python
# Good naming conventions
usernames = {'alice', 'bob', 'charlie'}
unique_ids = {101, 102, 103}

# Bad naming conventions
a = {'alice', 'bob', 'charlie'}
s = {101, 102, 103}

Implement Python set Best Practices

Use sets when you need to ensure that no duplicate elements exist and when you need to perform set operations. Avoid using sets for ordered collections or when element mutability is required.

Python
# Example of best practices
# Removing duplicates from a list
numbers = [1, 2, 2, 3, 4, 4, 5]
unique_numbers = set(numbers)
print(unique_numbers)  # Output: {1, 2, 3, 4, 5}

Discover Python set Use Cases

Sets can be used in various applications such as data cleaning, fast membership testing, and performing mathematical operations. They are particularly useful when you need to handle unique elements or perform operations involving multiple collections.

Python
# Example use case: Data cleaning
raw_data = ['apple', 'banana', 'apple', 'orange']
clean_data = set(raw_data)
print(clean_data)  # Output: {'apple', 'banana', 'orange'}

Conclusion

In this guide, you've explored how to declare, use, and apply best practices with Python set data type. This versatile data structure is essential for tasks involving unique elements and set operations.