Sets in Python are similar to list except that they allow for no duplicate elements inside. Not only that but the collection is un-indexed, meaning there is no concept of indexes at all.

Creating a Set

Creating a set is similar to creating both a list and tuple:

PYTHON
colors = {"red", "white", "blue"} print(colors)
BASH
{'red', 'blue', 'white'}

Sets are defined using curly braces.

Adding Items to a Set

While you cannot change the items inside a set, you can still add new items to the set. To do this, use the add() method.

PYTHON
colors = {"red", "white", "blue"} colors.add("orange") print(colors)
BASH
{'orange', 'white', 'blue', 'red'}

If you want to add multiple items to a set at once, Python also offers this functionality using the update() method:

PYTHON
colors = {"red", "white", "blue"} colors.update(["orange", "black", "green"]) print(colors)
BASH
{'orange', 'white', 'green', 'red', 'black', 'blue'}

Looping through a Set

Here is how you iterate over a set:

PYTHON
colors = {"red", "white", "blue"} for color in colors: print(color)
BASH
white blue red

Delete an Item from a Set

In addition to adding an item to a set, you can also remove items from it using the remove function.

PYTHON
colors = {"red", "white", "blue"} colors.remove("white") print(colors)
BASH
{'blue', 'red'}

If you want to safely try to remove an item from a set that you're not sure exists in the set or not, use the discard:

PYTHON
colors = {"red", "white", "blue"} colors.remove("red") colors.discard("yellow") print(colors)
BASH
{'white', 'blue'}

Check if Item Exists in Set

You can check if an item exists in a set using the in keyword:

PYTHON
colors = {"red", "white", "blue"} print("red" in colors) print("yellow" in colors)
BASH
True False

Set Length

Get the number of items in your set using the len() function:

PYTHON
colors = {"red", "white", "blue"} print(len(colors))
BASH
3

Combining Multiple Sets

When you have two sets and you want to combine them, Python gives you two options. You can either make a new set or add the items to an existing set. To make a new set entirely, use the union() function:

PYTHON
colors1 = {"red", "white", "blue"} colors2 = {"red", "purple", "brown"} colors3 = colors1.union(colors2) print(colors3)
BASH
{'white', 'brown', 'red', 'purple', 'blue'}

If you don't want to make a new set, and simply want to add the items from one set to another, use the update() function:

PYTHON
colors1 = {"red", "white", "blue"} colors2 = {"red", "purple", "brown"} colors1.update(colors2) print(colors1)
BASH
{'blue', 'purple', 'brown', 'red', 'white'}
Next Lesson »
Copyright © 2017 - 2024 Sabe.io. All rights reserved. Made with ❤ in NY.