Introduction to Sets with Python

Introduction to Python Sets

What is a Set?

In Python, a set is an unordered collection of unique elements. Unlike lists or tuples, sets do not maintain any order of the elements and do not allow duplicates. They are designed for efficient operations involving collections of unique items.

Characteristics of Sets

Unordered

Sets do not preserve the order of elements. When you print a set, the order of elements might be different from the order in which you added them. This means you cannot access elements by index like you do with lists.

Example: 

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

 Unique

Each element in a set is unique. If you try to add an element that is already present in the set, it will not be added again.

Example: 

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

Mutable

Sets are mutable, which means you can add or remove elements after creating the set. However, the elements themselves must be immutable. You cannot include lists, dictionaries, or other mutable types as elements of a set.

Example: 

my_set = {1, 2, 3}
my_set.add(4)      # Add an element
my_set.remove(2)   # Remove an element
print(my_set)      # Output: {1, 3, 4}

 Using Sets

Sets are particularly useful for operations like:

  • Membership Testing: Checking if an element is present in a set.
  • Union: Combining two sets to get a set containing all elements from both sets.
  • Intersection: Finding common elements between two sets.
  • Difference: Getting elements that are in one set but not in the other.
  • Symmetric Difference: Finding elements that are in either of the sets but not in both.

Examples: 

set1 = {1, 2, 3}
set2 = {3, 4, 5}
# Membership Testing
print(1 in set1)  # Output: True
print(6 in set1)  # Output: False
# Union
union = set1 | set2
print(union)  # Output: {1, 2, 3, 4, 5}
# Intersection
intersection = set1 & set2
print(intersection)  # Output: {3}
# Difference
difference = set1 - set2
print(difference)  # Output: {1, 2}
# Symmetric Difference
symmetric_difference = set1 ^ set2
print(symmetric_difference)  # Output: {1, 2, 4, 5}

Practical Applications of Sets

Sets are used in various scenarios in programming, including:

  • Removing Duplicates: Converting a list with duplicates into a set to get a collection of unique elements.
  • Checking Element Presence: Using sets to quickly check if an element is present due to their efficiency in membership testing.
  • Set Operations: Performing set operations to find relationships between different data sets, such as common interests among users.

Example of removing duplicates: 

list_with_duplicates = [1, 2, 2, 3, 4, 4, 5]
unique_set = set(list_with_duplicates)
print(unique_set)  # Output: {1, 2, 3, 4, 5}

 Conclusion

Sets in Python are powerful and flexible data structures that provide an efficient way to manage collections of unique elements. Their unordered nature and built-in operations make them suitable for a variety of tasks, from membership testing to set-based calculations.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *