Python – Multiple Sets Intersection
In this article given List of sets, the task is to write a Python program to perform their intersection.
Examples:
Input : test_list = [{5, 3, 6, 7}, {1, 3, 5, 2}, {7, 3, 8, 5}, {8, 4, 5, 3}]
Output : {3, 5}
Explanation : 3 and 5 is present in all the sets.
Input : test_list = [{5, 3, 6, 7}, {1, 3, 5, 2}, {7, 3, 8, 5}, {8, 4, 5, 4}]
Output : {5}
Explanation : 5 is present in all the sets.
Method #1 : Using intersection() + * operator
In this, we perform tasks of getting intersection using intersection() and * operator is used to pack all the sets together.
Python3
# Python3 code to demonstrate working of# Multiple Sets Intersection# Using intersection() + * operator # initializing listtest_list = [{5, 3, 6, 7}, {1, 3, 5, 2}, {7, 3, 8, 5}, {8, 4, 5, 3}] # printing original listprint("The original list is : " + str(test_list)) # getting all sets intersection using intersection()res = set.intersection(*test_list) # printing resultprint("Intersected Sets : " + str(res)) |
Output:
The original list is : [{3, 5, 6, 7}, {1, 2, 3, 5}, {8, 3, 5, 7}, {8, 3, 4, 5}]
Intersected Sets : {3, 5}
Method #2 : Using reduce() + and_ operator
In this, we perform task of intersection using and_ operator and reduce() does the task of getting all the sets packed together for required operation.
Python3
# Python3 code to demonstrate working of# Multiple Sets Intersection# Using reduce() + and_ operatorfrom operator import and_from functools import reduce # initializing listtest_list = [{5, 3, 6, 7}, {1, 3, 5, 2}, {7, 3, 8, 5}, {8, 4, 5, 3}] # printing original listprint("The original list is : " + str(test_list)) # getting all sets intersection using and_ operatorres = set(reduce(and_, test_list)) # printing resultprint("Intersected Sets : " + str(res)) |
Output:
The original list is : [{3, 5, 6, 7}, {1, 2, 3, 5}, {8, 3, 5, 7}, {8, 3, 4, 5}]
Intersected Sets : {3, 5}



