Summary: in this tutorial, you’ll learn how to union two or more sets by using the Python set union() or set union operator (|).
Introduction to the set union #
The union of two sets returns a new set that contains distinct elements from both sets.
Suppose that you have the following sets:
s1 = {'Python', 'Java'}
s2 = {'C#', 'Java'}Code language: JavaScript (javascript)The union of the s1 and s2 sets returns the following set:
{'Java','Python', 'C#'}Code language: JavaScript (javascript)Typically, you use the Venn diagram to illustrate the union of two sets. For example:

Union sets using union() method #
In Python, to union two or more sets, you use the union() method:
new_set = set.union(another_set, ...)Code language: JavaScript (javascript)The following example shows how to union the s1 and s2 sets:
s1 = {'Python', 'Java'}
s2 = {'C#', 'Java'}
s = s1.union(s2)
print(s)Code language: PHP (php)Output:
{'Python', 'Java', 'C#'}Code language: JavaScript (javascript)Union sets using the | operator #
Python provides you with the set union operator | that allows you to union two sets:
new_set = set1 | set2The set union operator (|) returns a new set that consists of distinct elements from both set1 and set2.
The following example shows how to use the union operator (|) to union the s1 and s2 sets:
s1 = {'Python', 'Java'}
s2 = {'C#', 'Java'}
s = s1 | s2
print(s)Code language: PHP (php)Output:
{'Java', 'C#', 'Python'}Code language: JavaScript (javascript)The union() method vs. set union operator #
The union() method accepts one or more iterables, converts the iterables to sets, and performs the union.
The following example shows how to pass a list to the union() method:
rates = {1, 2, 3}
ranks = [2, 3, 4]
ratings = rates.union(ranks)
print(ratings)Code language: PHP (php)Output:
{1, 2, 3, 4}However, the union operator (|) only allows sets, not iterables like the union() method.
The following example causes an error:
rates = {1, 2, 3}
ranks = [2, 3, 4]
ratings = rates | ranksError:
TypeError: unsupported operand type(s) for |: 'set' and 'list'Code language: JavaScript (javascript)In conclusion, the union() method accepts the iterables while the union operator only allows sets.
Summary #
- The union of two or more sets returns distinct values from both sets.
- Use
union()method or set union operator (|) to union two or more sets. - The
union()method accepts one or more iterables while the set union operator (|) only accepts sets.