Python Set intersection()

The intersection() method returns a new set with elements that are common to all sets.

The intersection of two or more sets is the set of elements which are common to all sets. For example:

A = {1, 2, 3, 4}
B = {2, 3, 4,  9}
C = {2, 4, 9 10}

Then,
A∩B = B∩A ={2, 3, 4}
A∩C = C∩A ={2, 4}
B∩C = C∩B ={2, 4, 9}

A∩B∩C = {2, 4}

Intersection of Three Sets


The syntax of intersection() in Python is:

A.intersection(*other_sets)

intersection() Parameters

The intersection() allows arbitrary number of arguments (sets).

Note: * is not part of the syntax. It is used to indicate that the method allows arbitrary number of arguments.


Return Value from Intersection()

The intersection() method returns the intersection of set A with all the sets (passed as argument).

If argument is not passed to intersection(), it returns a shallow copy the set (A).


Example 1: How intersection() works?

A = {2, 3, 5, 4}
B = {2, 5, 100}
C = {2, 3, 8, 9, 10}

print(B.intersection(A))
print(B.intersection(C))
print(A.intersection(C))
print(C.intersection(A, B))

When you run the program, the output will be:

{2, 5}
{2}
{2, 3}
{2}

More Examples

A = {100, 7, 8}
B = {200, 4, 5}
C = {300, 2, 3}
D = {100, 200, 300}

print(A.intersection(D))
print(B.intersection(D))
print(C.intersection(D))
print(A.intersection(B, C, D))

When you run the program, the output will be:

{100}
{200}
{300}
set()

You can also find the intersection of sets using & operator


Example 3: Set Intersection Using & operator

A = {100, 7, 8}
B = {200, 4, 5}
C = {300, 2, 3, 7}
D = {100, 200, 300}

print(A & C)
print(A & D)


print(A & C & D)
print(A & B & C & D)

When you run the program, the output will be:

{7}
{100}
set()
set()