How can I check if a list is a subset of another list in Python?
Alex K
alex k profile pic

To check if a list is a subset of another list in Python, you can use theissubset() method, theset() function, or list comprehension. Here's a detailed explanation of each approach: 1. Using theissubset() method: Theissubset() method checks if one set is a subset of another. Since lists are not directly comparable using this method, you can convert the lists into sets and then use theissubset() method to perform the subset check.

1
2
3
4
5
6
7
8

list1 = [1, 2, 3, 4, 5]
list2 = [3, 4]

if set(list2).issubset(list1):
    print("list2 is a subset of list1.")
else:
    print("list2 is not a subset of list1.")

Output:

list2 is a subset of list1.

In this example,set(list2) creates a set fromlist2, and thenissubset() checks if this set is a subset oflist1. The condition evaluates toTrue, indicating thatlist2 is indeed a subset oflist1. 2. Using theset() function: Similar to the previous approach, you can convert both lists into sets using theset() function and perform the subset check using the<= operator.

1
2
3
4
5
6
7
8

list1 = [1, 2, 3, 4, 5]
list2 = [3, 4]

if set(list2) <= set(list1):
    print("list2 is a subset of list1.")
else:
    print("list2 is not a subset of list1.")

Output:

list2 is a subset of list1.

In this example,set(list2) <= set(list1) checks if the set representation oflist2 is a subset of the set representation oflist1. The condition evaluates toTrue, indicating thatlist2 is a subset oflist1. 3. Using list comprehension: If the order of elements is important and you want to check if all elements oflist2 appear inlist1 in the same order, you can use list comprehension to iterate over the elements of both lists simultaneously and perform the comparison.

1
2
3
4
5
6
7
8

list1 = [1, 2, 3, 4, 5]
list2 = [3, 4]

if all(elem in list1 for elem in list2):
    print("list2 is a subset of list1.")
else:
    print("list2 is not a subset of list1.")

Output:

list2 is a subset of list1.

In this example, the list comprehensionelem in list1 for elem in list2 checks if each element oflist2 is present inlist1. Theall() function checks if all the conditions areTrue, indicating thatlist2 is a subset oflist1. Summary: To check if a list is a subset of another list in Python, you can use theissubset() method, theset() function, or list comprehension. Theissubset() method andset() function approach requires converting the lists into sets, while the list comprehension approach allows for checking subset inclusion while considering the order of elements. These methods provide flexibility in performing subset checks between lists, allowing you to handle different scenarios where list subsets need to be determined in your Python code.