Python Set Intersection basically finds and returns elements common among the sets.
Syntax:
set1.intersection(set2, set3, ... setN)
set1.intersection(set2) is equivalent to set1 ∩ set2.
Arguments: Accepts one or more sets as an argument.
Return Value: Returns a set as output which contains elements common to all the sets.
Ways to achieve Set Intersection in Python
Either of the following ways can be used to perform Python Set Intersection:
- By using the intersection() Method
- By using the Python Bitwise “&” Operator
- By using the intersection_update() Method
- By using the “&=” Operator
Python Set Intersection using intersection() method
- The intersection() method takes one or more iterables as arguments i.e strings, lists, tuples, etc.
- The method compares and finds out the common elements among the passed iterables.
- Finally, a new set as output is created which contains the elements that are common to the iterables.
Note: If any iterable other than set is passed as an argument, then firstly, the iterable object gets converted to a set object and then the intersection is performed on it.
Example:
set1 = {10, 20, 30}
set2 = {30, 3, 9}
output = set1.intersection(set2)
print(output)
Output:
{30}
Python Set Intersection using Bitwise “&” Operator
- The Python “&” Operator also returns the intersection of elements of two or more sets.
- The only difference between & operator and intersection() method is that the & operator operates only on set objects while the intersection method can operate on any iterable object like lists, sets, etc.
Example:
set1 = {"Safa", "Aman", "Pooja", "Divya"}
set2 = {"Safa", "Aryan", "Nisha", "Raghav", "Divya"}
Result = set1 & set2
print('Set 1: ',set1)
print('Set 2: ',set2)
print('Set Intersection: ',Result)
Output:
Set 1: {'Safa', 'Pooja', 'Divya', 'Aman'}
Set 2: {'Nisha', 'Aryan', 'Raghav', 'Safa', 'Divya'}
Set Intersection: {'Safa', 'Divya'}
Python Set Intersection using intersection_update() method
The intersection_update() method basically returns the common elements among the iterables and updates the same set/iterable object on which the operation is performed.
Note: It does not create a new set as an output. Instead, it updates the same input set with the result of the intersection operation. See below example to understand better
Example:
set1 = {"Safa", "Aman", "Pooja", "Divya"}
set2 = {"Safa", "Aryan", "Nisha", "Raghav", "Divya"}
print("Set1 before intersection operation: ", set1)
set1.intersection_update(set2)
print('Set Intersection of set1 and set2: ',set1)
print('Updated Set1: ',set1)
Output:
Set1 before intersection operation: {'Aman', 'Pooja', 'Divya', 'Safa'}
Set Intersection of set1 and set2: {'Divya', 'Safa'}
Updated Set1: {'Divya', 'Safa'}
Python Set Intersection using the “&=” Operator
The “&=” operator also returns the intersection among the set objects.
Note: The “&=” operator performs and operates only on set objects. It does not support any other iterable objects such as lists, strings, etc.
Example:
set1 = {"Safa", "Aman", "Pooja", "Divya"}
set2 = {"Safa", "Aryan", "Nisha", "Raghav", "Divya"}
print("Set1 before intersection operation: ",set1)
set1 &= set2
print('Set Intersection of set1 and set2: ',set1)
print("Updated Set1: ", set1)
Output:
Set1 before intersection operation: {'Divya', 'Safa', 'Pooja', 'Aman'}
Set Intersection of set1 and set2: {'Divya', 'Safa'}
Updated Set1: {'Divya', 'Safa'}
Conclusion
Thus, in this article, we have studied and implemented the Python Set Intersection with possible ways.
References
- Python Set Intersection
- Python Sets Documentation