Bird
Raised Fist0
Pythonprogramming~5 mins

Subset and superset checks in Python

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Introduction
We use subset and superset checks to see if all items of one group are inside another group or if one group contains all items of another. This helps us compare collections easily.
Checking if all your friends are invited to a party list.
Verifying if a student's completed courses cover all required courses for graduation.
Making sure a shopping list is fully included in what a store has.
Confirming if a smaller set of permissions is included in a bigger set for user access.
Syntax
Python
set1.issubset(set2)
set1.issuperset(set2)

# Or using operators:
set1 <= set2  # subset check
set1 >= set2  # superset check
issubset() returns True if every item in set1 is also in set2.
issuperset() returns True if set1 contains every item in set2.
Examples
a is a subset of b because all items in a are in b.
Python
a = {1, 2}
b = {1, 2, 3}
print(a.issubset(b))  # True
print(b.issubset(a))  # False
x is a superset of y because x contains all items in y.
Python
x = {4, 5, 6}
y = {5, 6}
print(x.issuperset(y))  # True
print(y.issuperset(x))  # False
Using operators, <= checks subset and >= checks superset.
Python
s1 = {10, 20}
s2 = {10, 20, 30}
print(s1 <= s2)  # True
print(s2 >= s1)  # True
Sample Program
This program checks if all invited friends are actually in the party guest list using subset and superset checks.
Python
friends_invited = {"Alice", "Bob", "Charlie"}
party_guests = {"Alice", "Bob", "Charlie", "David"}

# Check if all invited friends are in the guest list
all_invited_coming = friends_invited.issubset(party_guests)

# Check if guest list includes all invited friends
guest_list_covers_invited = party_guests.issuperset(friends_invited)

print(f"All invited friends coming? {all_invited_coming}")
print(f"Guest list covers all invited? {guest_list_covers_invited}")
OutputSuccess
Important Notes
Subset and superset checks work only with sets, not lists or other types.
The operators <= and >= are shorthand for issubset() and issuperset(), but only work with sets.
Empty set is a subset of every set, and every set is a superset of the empty set.
Summary
Subset means all items of one set are inside another set.
Superset means one set contains all items of another set.
Use issubset(), issuperset() or <=, >= operators to check these.

Practice

(1/5)
1. Which of the following statements correctly describes a subset in Python sets?
easy
A. All elements of set A are in set B.
B. Set A has more elements than set B.
C. Set A and set B have no common elements.
D. Set A and set B have exactly the same elements.

Solution

  1. Step 1: Understand subset definition

    A set A is a subset of set B if every element in A is also in B.
  2. Step 2: Match definition to options

    All elements of set A are in set B. states all elements of A are in B, which matches the subset definition.
  3. Final Answer:

    All elements of set A are in set B. -> Option A
  4. Quick Check:

    Subset means all elements inside another set [OK]
Hint: Subset means every item of one set is inside another [OK]
Common Mistakes:
  • Confusing subset with superset
  • Thinking subsets must have fewer elements
  • Assuming no common elements means subset
2. Which of the following is the correct syntax to check if set A is a superset of set B in Python?
easy
A. A.issubset(B)
B. A <= B
C. A.issuperset(B)
D. A < B

Solution

  1. Step 1: Recall superset method

    To check if A is a superset of B, use A.issuperset(B) or A >= B.
  2. Step 2: Identify correct option

    A.issuperset(B) uses A.issuperset(B), which is the correct method.
  3. Final Answer:

    A.issuperset(B) -> Option C
  4. Quick Check:

    Superset check uses issuperset() method [OK]
Hint: Use issuperset() to check if A contains all of B [OK]
Common Mistakes:
  • Using issubset() instead of issuperset()
  • Using <= or < for superset checks
  • Confusing method names
3. What will be the output of the following code?
set_a = {1, 2, 3}
set_b = {1, 2, 3, 4, 5}
print(set_a <= set_b)
print(set_b >= set_a)
medium
A. False\nFalse
B. False\nTrue
C. True\nFalse
D. True\nTrue

Solution

  1. Step 1: Evaluate set_a <= set_b

    set_a has elements {1,2,3}, all of which are in set_b, so set_a is subset of set_b, result is True.
  2. Step 2: Evaluate set_b >= set_a

    set_b contains all elements of set_a, so set_b is superset of set_a, result is True.
  3. Final Answer:

    True True -> Option D
  4. Quick Check:

    Subset and superset checks both True [OK]
Hint: <= and >= check subset and superset respectively [OK]
Common Mistakes:
  • Mixing up <= and >= operators
  • Assuming strict subset/superset without equality
  • Forgetting sets can be equal
4. The following code is intended to check if set A is a subset of set B, but it raises an error. What is the problem?
set_a = {1, 2}
set_b = {1, 2, 3}
result = set_a.subset(set_b)
print(result)
medium
A. Sets cannot be compared using methods.
B. The method name should be issubset(), not subset().
C. The sets must be converted to lists first.
D. The print statement is missing parentheses.

Solution

  1. Step 1: Identify method name error

    The correct method to check subset is issubset(), not subset().
  2. Step 2: Confirm correct usage

    Using set_a.issubset(set_b) returns True or False without error.
  3. Final Answer:

    The method name should be issubset(), not subset(). -> Option B
  4. Quick Check:

    issubset() is correct method name [OK]
Hint: Use issubset(), not subset(), to check subsets [OK]
Common Mistakes:
  • Using wrong method names
  • Thinking sets need conversion to lists
  • Confusing print syntax errors
5. Given two sets:
set_x = {2, 4, 6, 8}
set_y = {4, 6}

Which of the following expressions will return True for checking if set_y is a proper subset of set_x (subset but not equal)?
hard
A. set_y < set_x
B. set_y >= set_x
C. set_x.issubset(set_y)
D. set_y.issuperset(set_x)

Solution

  1. Step 1: Understand proper subset

    A proper subset means all elements of set_y are in set_x, and sets are not equal.
  2. Step 2: Analyze options

    set_y < set_x uses < operator which checks proper subset (subset but not equal). set_y >= set_x checks superset (wrong direction). set_x.issubset(set_y) reverses the sets (wrong). set_y.issuperset(set_x) is wrong (issuperset).
  3. Final Answer:

    set_y < set_x -> Option A
  4. Quick Check:

    Proper subset uses < operator [OK]
Hint: Use < for proper subset (subset but not equal) [OK]
Common Mistakes:
  • Using >= which checks superset
  • Reversing the subset direction
  • Confusing issubset() with issuperset()