Sets are unordered data structures that do not contain duplicates. In this shot, we will discuss how to determine if a set is a subset of another set.
If all the values of a set, A, are also contained in a larger set, B, then A is a subset of B.
issubset()The built-in function issubset() can be used to determine if a set is a subset of another set.
setA.issubset(setB)
The issubset() function takes one argument: the larger set. Here, we are checking if setA is a subset of setB.
The function will return True if setA is a subset of setB and False if it is not.
setA = {1, 2, 3, 4, 5}setB = {1, 2, 3}setC = {1, 2, 3, 6, 7}print("setA: ", setA)print("setB: ", setB)print("setC: ", setC)print("Is setB a subset of setA?: ", setB.issubset(setA))print("Is setA a subset of setB?: ", setA.issubset(setB))print("Is setC a subset of setA?: ", setC.issubset(setA))
intersection()The built-in intersection() function returns a set that contains the elements that the two sets share.
set.intersection(set1)
If the set that intersection returns is equal to the smaller set, the smaller set is a subset of the larger set.
setA = {1, 2, 3, 4, 5}setB = {1, 2, 3}setC = {1, 2, 3, 6, 7}print("setA: ", setA)print("setB: ", setB)print("setC: ", setC)print("Is setB a subset of setA?: ", setA.intersection(setB) == setB)print("Is setA a subset of setB?: ", setA.intersection(setB) == setA)print("Is setC a subset of setA?: ", setA.intersection(setC) == setC)
for loopWe can use a simple for loop to traverse through the potential subset, say, setB.
If any element of setB is not in the other set, setA, then setB is not a subset of setA. Otherwise, setB is a subset of setA.
setA = {1, 2, 3, 4, 5}setB = {1, 2, 3}print("setA: ", setA)print("setB: ", setB)subSet = Truefor i in setB:if i not in setA:subSet = Falseif subSet == False:print("SetB is not a subset of SetA")else:print("SetB is a subset of SetA")for i in setA:if i not in setB:subSet = Falseif subSet == False:print("SetA is not a subset of SetB")else:print("SetA is a subset of SetB")