# Operations on Set data structure in Python

This post is lesson 27 of 54 in the subject Python Programming Language

In the article Set data structure in Python, you learned about Sets. In this article, let’s look at some operations on Set data structure in Python.

## 1. Traverse each element of a Set

Use a for loop to traverse each element of a Set in Python.

``````my_set1 = {'gochocit', True, 5, 'com'}
print("my_set1:")
for x in my_set1:
print(x, end=' ')

my_set2 = {1, -7.5, 'hello', 1, 'hello'}
print("\nmy_set2:")
for x in my_set2:
print(x, end=' ')``````

#### Result

``````my_set1:
True com 5 gochocit
my_set2:
1 -7.5 hello``````

## 2. Set Operators

### 2.1. Union Operator

The union of 2 Sets will create a new Set consisting of all elements in both Sets. We can use the | operator or the `union()` function to combine 2 Sets.

``````my_set1 = {1, 2, 3, 4, 5}
my_set2 = {4, 5, 6, 7, 8}
# Union using operator |
my_set3 = my_set1 | my_set2
print("Union using operator |:", my_set3)

# Union using union()
my_set4 = my_set1.union(my_set2)
print("Union using union():", my_set4)``````

#### Result

``````Union using operator |: {1, 2, 3, 4, 5, 6, 7, 8}
Union using union(): {1, 2, 3, 4, 5, 6, 7, 8}``````

### 2.2. Intersection Operator

The intersection of 2 Sets will create a new Set consisting of only elements in both Sets. We can use the & operator or the `intersection()` function to intersect 2 Sets.

``````my_set1 = {1, 2, 3, 4, 5}
my_set2 = {4, 5, 6, 7, 8}
# Intersection using operator &
my_set3 = my_set1 & my_set2
print("Intersection using operator &:", my_set3)

# Intersection using intersection()
my_set4 = my_set1.intersection(my_set2)
print("Intersection using intersection():", my_set4)``````

#### Result

``````Intersection using operator &: {4, 5}
Intersection using intersection(): {4, 5}``````

### 2.3. Difference Operator

The difference between 2 Sets will create a new Set consisting of only elements in Set 1 that are not in Set 2. We can use the – operator or the `difference()` function to find the difference between 2 Sets.

``````my_set1 = {1, 2, 3, 4, 5}
my_set2 = {4, 5, 6, 7, 8}
# Difference using operator -
my_set3 = my_set1 - my_set2
print("Difference using operator -:", my_set3)

# Difference using difference()
my_set4 = my_set1.difference(my_set2)
print("Difference using difference():", my_set4)``````

#### Result

``````Difference using operator -: {1, 2, 3}
Difference using difference(): {1, 2, 3}``````

### 2.4. Symmetric Difference Operator

The symmetric difference between 2 Sets will create a new Set consisting of only elements in either Set 1 or Set 2, but not in both. We can use the ^ operator or the `symmetric_difference()` function to find the symmetric difference of 2 Sets.

``````my_set1 = {1, 2, 3, 4, 5}
my_set2 = {4, 5, 6, 7, 8}
# Symmetric Difference using operator ^
my_set3 = my_set1 ^ my_set2
print("Symmetric Difference using operator ^:", my_set3)

# Symmetric Difference using symmetric_difference()
my_set4 = my_set1.symmetric_difference(my_set2)
print("Symmetric Difference using symmetric_difference():", my_set4)``````

#### Result

``````Symmetric Difference using operator ^: {1, 2, 3, 6, 7, 8}
Symmetric Difference using symmetric_difference(): {1, 2, 3, 6, 7, 8}``````

## 3. Set Methods

Python supports many methods to make it easier to work with Sets. Some standard methods used with Sets are described in the table below.

#### Example using Set methods

``````my_set1 = {'John', 'Marry', 'Henry'}
my_set2 = {'Kane', 'Cris', 'John'}

# clear()
my_set1.clear()
print("clear my_set1:", my_set1)

# copy()
my_set_copy = my_set2.copy()
print("copy my_set2:", my_set_copy)

# isdisjoint()
my_set1 = {'John', 'Marry', 'Henry'}
my_set2 = {'Kane', 'Cris', 'John'}
print("my_set1 havenot a intersection with my_set2?", my_set1.isdisjoint(my_set2))
my_set1 = {'John', 'Marry', 'Henry'}
my_set2 = {'Kane', 'Cris', 'Son'}
print("my_set1 havenot a intersection with my_set2?", my_set1.isdisjoint(my_set2))

# update()
my_set1.update(my_set2)
print("update my_set1:", my_set1)``````

#### Result

``````add my_set1: {'Marry', 'Henry', 'Son', 'John'}
clear my_set1: set()
copy my_set2: {'Kane', 'Cris', 'John'}
my_set1 havenot a intersection with my_set2? False
my_set1 havenot a intersection with my_set2? True
update my_set1: {'Kane', 'Henry', 'John', 'Marry', 'Cris', 'Son'}``````
5/5 - (1 vote)
Previous and next lesson in subject<< Set data structure in PythonDictionary Data Structure in Python >>
0 Shares