# Python Sets (With Examples)

By Lenin Mishra

Sets are an unordered collection of unique and immutable objects. It supports mathematical operations from the set theory.

An item appears only once in a set, no matter how many times it is added.

### How to create a set?

You can use the `set()` construct with iterables or use curly braces `{}` to create a set in Python.

Code

``````# EMpty set
x = set()
print(x)

# Using iterables
x = set("Pylenin")
print(x)

x = set([1, 2, 3, 4])
print(x)

# Using curly braces
x = {1, 2, 3, 4}
print(x)``````

Output

``````set()
{'l', 'y', 'e', 'P', 'i', 'n'}
{1, 2, 3, 4}
{1, 2, 3, 4}``````

You cannot declare a set by using empty curly braces. Python will assume its a dictionary.

### Mathematical operations with sets

#### Set membership test

You can use the `in` operator to check if an element exists in a set.

Code

``````x = {1, 2, 3, 4}

if 1 in x:
print("Element exists")
else:
print("Element doesn't exist")``````

Output

``Element exists``

#### Difference between 2 sets In mathematical set theory, the difference of two sets(A & B) is `A - B`. It is the set of all elements of A that are not elements of B. You can perform the same operation in Python

Code

``````x = {1, 2, 3, 4}
y = {2, 3, 4, 5}

print(x - y)
print(y - x)``````

Output

``````{1}
{5}``````

#### Union of 2 sets The union of two sets A and B is the set of elements which are in A, B or in both A and B.

Code

``````x = {1, 2, 3, 4}
y = {2, 3, 4, 5}

print(x | y)``````

Output

``{1, 2, 3, 4, 5}``

#### Intersection of 2 sets The intersection of two sets A and B are the set of elements which are in both A and B.

Code

``````x = {1, 2, 3, 4}
y = {2, 3, 4, 5}

print(x & y)``````

Output

``{2, 3, 4}``

#### Symmetric difference of sets The symmetric difference of two sets A and B are the set of elements which are in A and B, but not common to A and B.

Code

``````x = {1, 2, 3, 4}
y = {2, 3, 4, 5}

print(x ^ y)``````

Output

``{1, 5}``

### Using methods with sets

To add elements to a set, you can use the `add()` method.

Code

``````x = {1, 2, 3, 4}

print(x)``````

Output

``{1, 2, 3, 4, 10}``

With `add()` method, you can add only a single element. To add multiple elements, use the `update()` method.

#### Adding multiple elements to sets with update()

Code

``````x = {1, 2, 3, 4}

x.update([4, 5, 6, 7])
print(x)

x.update(["Pylenin", "Python"], {"greeting"})
print(x)``````

Output

``````{1, 2, 3, 4, 5, 6, 7}
{1, 2, 3, 4, 5, 6, 7, 'Python', 'Pylenin', 'greeting'}``````

Duplications are always avoided with sets.

#### Remove an element from a set

To remove an element from a set, use `remove()` method.

Code

``````x = {1, 2, 3, 4}

x.remove(2)
print(x)``````

Output

``{1, 3, 4}``

If the element you are trying to remove doesn’t exist, Python will throw a `KeyError`.

To avoid getting such errors, use the `discard()` method with sets.

Code/Output

``````x = {1, 2, 3, 4}

print(x)
>>> {1, 2, 3, 4}

x.remove(20)
print(x)
>>> KeyError: 20``````

#### Remove multiple elements from a set

To remove multiple elements from a set, use the `clear()` method.

Code

``````x = {1, 2, 3, 4}

x.clear()
print(x)``````

Output

``set()``