The set intersection() method in Python is used to get the common elements present in two or multiple Sets. Alternatively, you can also use the Set operator & to perform the intersection that gives you the same result.
1. Quick Examples of Intersection Python Set
Below are quick examples of getting common elements from the Python Sets.
# Create three sets
id={1,2,3,4,5}
cost={1,2,45,67,54}
quantity={45,67,1,2,3}
# Intersection two sets
result = id.intersection(quantity)
# Intersection multiple sets
result = id.intersection(cost,quantity
# Intersection using & operator
result = id & cost
# Intersection multiple sets
result = id & cost & quantity
2. Python set intersection()
The intersection() method is used to get the elements that are in common from two or multiple sets. It will take single/multiple sets as parameters and it returns the new set with the common elements.
2.1 Syntax of set intersection()
The following is the syntax of the intersection() function.
# Syntax of intersection
set1.intersection(set2,set3,.....)
Let’s see some examples to understand this concept better
2.2 set intersection() Example
In this example, I will create three sets with integer elements and by using Python intersection(), will merge them into a single set object. To create a set in Python use {}.
# Create three sets
id={1,2,3,4,5}
cost={1,2,45,67,54}
quantity={45,67,1,2,3}
# Actual elements in the sets.
print("Set id :",id)
print("Set cost :",cost)
print("Set quantity :",quantity)
# Output:
# Set id : {1, 2, 3, 4, 5}
# Set cost : {1, 2, 67, 45, 54}
# Set quantity : {1, 2, 3, 67, 45}
Let’s perform the intersection operation on these set objects.
# Perform intersection on id and cost
print("id ∩ cost - ",id.intersection(cost))
# Perform intersection on id and quantity
print("id ∩ quantity - ",id.intersection(quantity))
# Perform intersection on id, cost and quantity
print("id ∩ cost ∩ quantity - ",id.intersection(cost,quantity))
# Output:
# id ∩ cost - {1, 2}
# id ∩ quantity - {1, 2, 3}
# id ∩ cost ∩ quantity - {1, 2}
Explanation:
- We returned only the common elements from id and cost sets.
- We returned only the common elements from id and quantity sets.
- Finally we are also returning only the common elements that exists in all 3 sets.
3. Set intersection() with String Values
In this example, we will create three Python set objects with string elements and by using intersection() return only common elements among the sets.
# Create four sets
village1={"fields","plants","electricity","houses"}
village2={"fields","plants","electricity","houses","buildings"}
village3={"None"}
# Actual elements in the sets.
print("Set-1",village1)
print("Set-2",village2)
print("Set-3",village3)
# Output
# Set-1 {'electricity', 'fields', 'houses', 'plants'}
# Set-2 {'electricity', 'fields', 'buildings', 'houses', 'plants'}
# Set-3 {'None'}
Let’s perform set intersection on this set of strings.
# Perform intersection on village1 and village2
print("village1 ∩ village2 - ",village1.intersection(village2))
# Perform intersection on village2 and village3
print("village2 ∩ village3 - ",village2.intersection(village3))
# Output:
# village1 ∩ village2 - {'houses', 'electricity', 'plants', 'fields'}
# village2 ∩ village3 - set()
Explanation:
- There are 4 common strings present in village1 and village2.
- There are no common elements present in village2 and village3, So empty set is returned.
4. Python Set Intersection using & operator
We can also perform set intersection using the & operator in Python. This we can call an “and” operator. Let’s see some examples to understand this concept better.
4.1 Using & with Examples
In this example, we will create three sets with integer elements and return the common elements among these sets.
# Perform intersection on id and cost
print("id & cost - ",id &cost)
# Perform intersection on id and quantity
print("id & quantity - ",id & quantity)
# Perform intersection on id, cost and quantity
print("id & cost & quantity - ",id&cost&quantity)
# Output
# id & cost - {1, 2}
# id & quantity - {1, 2, 3}
# id & cost & quantity - {1, 2}
Explanation:
- We returned only the common elements from id and cost sets.
- We returned only the common elements from id and quantity sets.
- Finally we are also returning only the common elements that exists in all 3 sets.
4.2 Using & with Examples
# Perform intersection on village1 and village2
print("village1 & village2 - ",village1 &village2)
# Perform intersection on village2 and village3
print("village2 & village3 - ",village2&village3)
# Output
# village1 & village2 - {'houses', 'electricity', 'plants', 'fields'}
# village2 & village3 - set()
Explanation:
- There are 4 common strings present in village1 and village2.
- There are no common elements present in village2 and village3, So an empty set is returned.
5. Differences between intersection() and & operator
Though both intersection() and & operator are used to return only the common elements that exist in sets in Python, they both have some differences. Below I have covered some differences.
INTERSECTION() | & OPERATOR |
---|---|
intersection() is a method | & is an operator |
intersection() method explicitly fix the priority of the sets | & operator will have specific operator precedence of the sets |
intersection() is used only with sets | & operator can be used with other data structures |
6. Conclusion
In this article, you have learned how to return the common elements among the Python Sets using intersection() function and & operator. You can use intersection() and & operator to apply intersection with two or multiple sets.