Language: EN

python-sets

Sets in Python

Sets are data structures that allow us to store collections of unique and unordered elements.

This means that there can’t be duplicates in a set and the elements are not ordered by position.

Characteristics of sets:

  • Unique elements: Sets cannot contain duplicate elements, so each element is unique.
  • Unordered: Elements in a set have no specific order and there is no guarantee that the order in which they were added will be maintained.

Creating Sets

Sets can be created using curly braces {} or the set() function.

Here is the text with explanation lines added between each heading and the corresponding example:

Create a Set with Curly Braces {}

Sets in Python can be created using curly braces {}. In this case, the elements separated by commas inside the braces are listed to initialize the set.

my_set = {1, 2, 3}

Create a Set with the set() Function

It is also possible to create sets using the set() function. A list is passed as an argument to the set() function, and the function creates a set with the elements of that list.

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

For example, here we have created a Set {1, 2, 3} from a List containing [1, 2, 3].

Set Operations

Adding elements

Sets in Python have the add() method, which is used to add a single element to the set.

my_set.add(6)  # Add the element 6 to the set

Removing elements

Sets in Python have the remove() method, which is used to remove a specific element from the set. Additionally, the discard() method can also be used to remove an element, but it will not throw an error if the element is not present in the set.

my_set.remove(3)  # Remove the element 3 from the set
my_set.discard(2)  # Remove the element 2 if it is present

Set Union

The union of sets can be performed using the union() method or the | operator. This creates a new set containing all the elements from both original sets, eliminating duplicates.

union_set = my_set.union(my_other_set)  # Merge the two sets into a new one
union_set = my_set | my_other_set  # The same using the operator |

Set Intersection

The intersection of sets can be performed using the intersection() method or the & operator. This creates a new set containing only the elements that are present in both original sets.

intersection_set = my_set.intersection(my_other_set)  # Get the intersection of the sets
intersection_set = my_set & my_other_set  # The same using the operator &

Set Difference

The difference between sets can be calculated using the difference() method or the - operator. This creates a new set containing only the elements that are present in the first set but not in the second.

difference_set = my_set.difference(my_other_set)  # Get the difference between the sets
difference_set = my_set - my_other_set  # The same using the operator -

Examples of Set Usage

  • Removing Duplicates in Lists:

To remove duplicates from a list in Python, the list can be converted to a set using the set() function.

list_with_duplicates = [1, 2, 3, 4, 1, 2, 5]
set_without_duplicates = set(list_with_duplicates)

Sets in Python do not allow duplicate elements, so when the list is converted to a set, duplicates are automatically removed.

  • Membership Check:

To check if an element is present in a set, the in expression can be used. This expression returns True if the element is present in the set and False if it is not.

if 3 in my_set:
    print("Element 3 is present in the set.")
  • Set Operations:

Python offers several built-in methods for performing set operations, such as union, intersection, and difference.

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

# Set union
union = set1.union(set2)  # Result: {1, 2, 3, 4, 5}

# Set intersection
intersection = set1.intersection(set2)  # Result: {3}

# Set difference
difference = set1.difference(set2)  # Result: {1, 2}

These operations can be performed using set methods such as union(), intersection(), and difference(), as we have seen earlier.