Python sets
A set in Python is a built-in data type used to store unique elements—that is, it automatically removes duplicates. Sets are defined using curly braces {}
, and they are unordered and unindexed, meaning the items have no specific position or order.
While sets are generally unchangeable in terms of individual items (you can’t change elements directly), you can still add or remove items from the set as a whole.
Sets are useful when you want to store a collection of items without duplicates and don’t care about the order in which they’re stored
set1 = {1, 3, 4}
Duplicate values are ignored in sets
set2 = {1, 3, 4, 1}
print(set2)

Example with true and 1
We can add different data types to a set.
True in Python is equivalent to the integer 1, hence “True would not be printed” since a set cannot have a duplicate.
set2a = {1, 3, 4, True}
print(set2a)
Here we also have a mixture of things.
set3 = {1, 'Nolan', 4, True}
let us check the length
len(set3)

Here we add to the set
set3.add("Baseball")
print(set3)

Here we remove from the ste.
set3.remove('Baseball')
Note that if we have already removed the item and we call the remove() method again, it throws an error.
set3.remove('Baseball')

set3.discard('Nolan')
To fix this, use discard().
This wont throw an error even though the value to discard is missing.
set3.discard('Nolan')
We use the .clear() to clear the set.
set3.clear()
print(set3)

set3 = {1, 'Nolan', 4, True}
Two sets can be merged using the union() method or | operator.
Duplicates gets removed when using union
union_test = set3.union(set2)
union_test

union_test2 = set3 | set2
union_test2

intersection_test = set3.intersection(set2)
intersection_test

intersection_test2 = set3 & set2
intersection_test2

In Python, the difference() is used to refer to the elements that are in one set but not in the other
differences_test = set3.difference(set2)
differences_test

We can also use the – operator to achieve the same result as the difference() method
differences_test2 = set3 - set2
differences_test2

Multiple example
Here we are using the & operator to find elements common to multiple sets.
mul1 = {1, 11, 7} mul2 = {6, 11, 7} mul2 = {13, 11, 9}
multiple_test = mul1 & mul2 & mul2
multiple_test

Let’s look at in and not in.
Here, we check if 11 is in multiple_test
Then we check if 23 is not in multiple_test
Remember, multiple_test is the variable we used to store our sets previously.
11 in multiple_test

23 not in multiple_test

set1 = {11, 12, 5, 1} set2 = {6, 8, 4} set3 = {6, 8, 4, 11, 11}
Here we use the isdidjoint() method to check wheter two sets have no elements in common.
The isdisjoint() method checks whether two sets have no elements in common.
it returns True of False depending on the case.
set1.isdisjoint(set2)

The issubset() method checks whether all elements of one set exist in another set
Here, we check if every element of set2 is found in set3.
it returns True or False depending on the case.
set2.issubset(set3)

issuperset() is the reverse of .issubset().
Here we check if set3 contains all elements of set2.
set3.issuperset(set2)

Here we use a for loop to loop through the set elements.
hof_pitchers = { "Tom Seaver", "Randy Johnson", "Nolan Ryan", "Greg Maddux", "Pedro Martinez" } # Looping through the set elements for pitcher in hof_pitchers: print(pitcher)

note. we cannot access an element in the set using indexing.
i.e hot_pitchers[0].
hence we need to convert the set to a list using our list() method
# Convert set to a list pitchers_list = list(hof_pitchers)
Now, we can access any element since we have converted it to a list.
print("A Baseball Hall of Fame pitcher at position 3:", pitchers_list[3])

Here we create an empty set.
emptyset = set()
The sorted() function can be used to create a new, sorted list from the elements of a set.
Python provides handy built-in functions that can be used directly on sets containing numeric values:
sum(set) – Returns the total of all the values in the set.
min(set) – Returns the smallest value in the set.
max(set) – Returns the largest value in the set.
cheatsheet.
https://realpython.com/python-sets/
https://www.geeksforgeeks.org/python-sets/
https://learnpython.com/blog/python-sets/
Ryan is a Data Scientist at a fintech company, where he focuses on fraud prevention in underwriting and risk. Before that, he worked as a Data Analyst at a tax software company. He holds a degree in Electrical Engineering from UCF.