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")