# Set Operations

Set objects also support mathematical operations like union, intersection, difference, and symmetric difference.

## Union

Union of two sets is a set containing all elements of both sets.

set_a | set_b

or

set_a.union(sequence)

union() converts sequence to a set, and performs the union.

#### Example 1

```
set_a = {4, 2, 8}
set_b = {1, 2}
union = set_a | set_b
print(union)
```

Output

{1, 2, 4, 8}

**Example 2**

```
set_a = {4, 2, 8}
list_a = [1, 2]
union = set_a.union(list_a)
print(union)
```

Output

{1, 2, 4, 8}

## Intersection

Intersection of two sets is a set containing common elements of both sets.

set_a & set_b

or

set_a.intersection(sequence)

intersection() converts sequence to a set, and perform the intersection.

#### Example 1

```
set_a = {4, 2, 8}
set_b = {1, 2}
intersection = set_a & set_b
print(intersection)
```

Output

{2}

#### Example 2

```
set_a = {4, 2, 8}
list_a = [1, 2]
intersection = set_a.intersection(list_a)
print(intersection)
```

Output

{2}

## Difference

Difference of two sets is a set containing all the elements in the first set but not second.

set_a – set_b

or

set_a.difference(sequence)

difference() converts sequence to a set.

#### Example 1

```
set_a = {4, 2, 8}
set_b = {1, 2}
diff = set_a - set_b
print(diff)
```

Output

{8, 4}

#### Example 2

```
set_a = {4, 2, 8}
tuple_a = (1, 2)
diff = set_a.difference(tuple_a)
print(diff)
```

Output

{8, 4}

## Symmetric Difference

Symmetric difference of two sets is a set containing all elements which are not common to both sets.

set_a ^ set_b

or

set_a.symmetric_difference(sequence)

symmetric_difference() converts sequence to a set.

#### Example 1

```
set_a = {4, 2, 8}
set_b = {1, 2}
symmetric_diff = set_a ^ set_b
print(symmetric_diff)
```

Output

{8, 1, 4}

#### Example 2

```
set_a = {4, 2, 8}
set_b = {1, 2}
diff = set_a.symmetric_difference(set_b)
print(diff)
```

Output

{8, 1, 4}