The intersection of two sets is the set of all distinct elements that are common to both sets.  It is represented using  the symbol (pronounced "cap").

For example if we have sets  A = {1, 2, 3} and B = {2, 3, 4}, the intersection of A and B is {2, 3} since these are the  elements that are present in both sets.

set intersection

The set.intersection() method in Python returns the intersection of two or more sets. It returns a new set containing the common distinct elements between the sets.

set1.intersection(set2, ...)
set2 This can be a set or any other iterable objects. Multiple iterables may be given

The method returns a new set that is the intersection of set1 and the other set(s) given as arguments.

set1 = {1, 2, 3, 4, 5, 6}
set2 = {3, 4, 5, 6, 7, 8}

#get the intersection
result = set1.intersection(set2)
print(result)

With multiple arguments

In the following example,  we pass multiple sets as arguments to the intersection() method. 

set1 = {1, 2, 3}
set2 = {2, 3, 4}
set3 = {2, 3, 4, 5}

result = set1.intersection(set2, set3)
print(result)

Using other iterables 

In addition to sets, the arguments to the intersection method can be any other iterables such as lists, tuples, etc.

set1 = {1, 2, 3}
set2 = [2, 3, 4] #list
set3 = (3, 4, 5) #tuple

result = set1.intersection(set2, set3)
print(result)

Using the & operator instead

The ampersand symbol (&) is the operator version of the intersection() method. Similarly, it returns a new set with the common elements between the sets. With this approach, both arguments must be sets and not just any other iterable.

result = set1 & set2

Get intersection using & 

set1 = {1, 2, 3, 4, 5}
set2 = {3, 4, 5, 6, 7}

#get the intersection
result = set1 & set2
print(result)