Sets

Sets

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

Creating a Set

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

	
    colors = {"red", "white", "blue"}
    print(colors)
	
	
    {'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.

	
    colors = {"red", "white", "blue"}

    colors.add("orange")

    print(colors)
	
	
    {'orange', 'white', 'blue', 'red'}
	

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

	
    colors = {"red", "white", "blue"}

    colors.update(["orange", "black", "green"])

    print(colors)
	
	
    {'orange', 'white', 'green', 'red', 'black', 'blue'}
	

Looping through a Set

Here is how you iterate over a set:

	
    colors = {"red", "white", "blue"}

    for color in colors:
        print(color)
	
	
    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.

	
    colors = {"red", "white", "blue"}

    colors.remove("white")

    print(colors)
	
	
    {'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:

	
    colors = {"red", "white", "blue"}

    colors.remove("red")
    colors.discard("yellow")

    print(colors)
	
	
    {'white', 'blue'}
	

Check if Item Exists in Set

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

	
    colors = {"red", "white", "blue"}

    print("red" in colors)
    print("yellow" in colors)
	
	
    True
    False
	

Set Length

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

	
    colors = {"red", "white", "blue"}

    print(len(colors))
	
	
    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:

	
    colors1 = {"red", "white", "blue"}
    colors2 = {"red", "purple", "brown"}

    colors3 = colors1.union(colors2)

    print(colors3)
	
	
    {'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:

	
    colors1 = {"red", "white", "blue"}
    colors2 = {"red", "purple", "brown"}

    colors1.update(colors2)

    print(colors1)
	
	
    {'blue', 'purple', 'brown', 'red', 'white'}