# 5 Methods – How to Combine Two Sets in Python

In this article, we are going to explore various methods to combine two sets in Python. Sets are an unordered collection of unique elements.

They are particularly useful when working with large datasets to remove duplicates or to perform mathematical set operations such as union, intersection, and difference. Combining sets is a common operation that programmers often encounter.

### Method 1: Using the Union Method

#### Set Union Syntax

One common technique to combine two sets is to use the `union` method. The syntax for the `union` method is as follows:

``````combined_set = set1.union(set2)
``````

#### Union Example

Let’s see an example to demonstrate how to use the `union` method to combine two sets:

``````set1 = {1, 2, 3}
set2 = {3, 4, 5}
combined_set = set1.union(set2)
print(combined_set)
``````

Output:

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

### Method 2: Using the Update Method

#### Set Update Syntax

Another approach to merge two sets is by using the `update` method. The syntax for the `update` method is as follows:

``````set1.update(set2)
``````

#### Update Example

Here’s an example of using the `update` method to combine two sets:

``````setA = {1, 2, 3}
setB = {3, 4, 5}
setA.update(setB)
print(setA)
``````

Output:

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

### Method 3: Using List Comprehension

#### List Comprehension Syntax

You can also combine two sets using list comprehension. The syntax for list comprehension is as follows:

``````combined_list = [item for subset in (set1, set2) for item in subset]
``````

#### List Comprehension Example

Here’s an example of using list comprehension to combine two sets:

``````setX = {1, 2, 3}
setY = {3, 4, 5}
combined_list = [item for subset in (setX, setY) for item in subset]
combined_set = set(combined_list)
print(combined_set)
``````

Output:

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

### Method 4: Using Set Comprehension

#### Set Comprehension Syntax

Set comprehension is another way to combine two sets. The syntax for set comprehension is as follows:

``````combined_set = {item for subset in (set1, set2) for item in subset}
``````

#### Set Comprehension Example

Here’s an example of using set comprehension to combine two sets:

``````setM = {1, 2, 3}
setN = {3, 4, 5}
combined_set = {item for subset in (setM, setN) for item in subset}
print(combined_set)
``````

Output:

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

### Method 5: Using the itertools.chain Function

#### itertools.chain Syntax

The `itertools.chain` function is another method to combine two sets. The syntax for `itertools.chain` is as follows:

``````import itertools
combined_set = set(itertools.chain(set1, set2))
``````

#### itertools.chain Example

Here’s an example of using the `itertools.chain` function to combine two sets:

``````import itertools

setP = {1, 2, 3}
setQ = {3, 4, 5}
combined_set = set(itertools.chain(setP, setQ))
print(combined_set)
``````

Output:

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

## FAQs

What is the difference between the union method and the update method?

The `union` method returns a new set containing the combined elements of the two sets, while the `update` method modifies the original set by adding elements from the second set to it.

Can I use these methods to combine more than two sets?

Yes, you can use these methods to combine more than two sets by simply extending the syntax. For example, `set1.union(set2, set3)` or `itertools.chain(set1, set2, set3)`.

Are the elements in a set always ordered?

No, sets are unordered collections of unique elements. If you need to maintain the order of elements, consider using a different data structure, such as a list or a tuple.

Can I use these methods to combine sets of different data types?

Yes, as long as the data types in the sets are hashable, you can combine sets containing different data types using the methods described in this article.

What is the time complexity of these methods?

The time complexity of the union and update methods is O(n), where n is the size of the second set. The time complexity of the itertools.chain function, list comprehension, and set comprehension methods depends on the size of the input sets and the operations performed.

## Conclusion

In this article, we discussed five different methods to combine two sets in Python. We covered using the union method, the update method, list comprehension, set comprehension, and the itertools.chain function.

You can choose the method that best suits your needs based on the specific requirements of your project.