Is it possible to nest a list inside another list?

What is Python Nested List?

A list can contain any sort object, even another list [sublist], which in turn can contain sublists themselves, and so on. This is known as nested list.

You can use them to arrange data into hierarchical structures.

Python | Check if a nested list is a subset of another nested list

Given two lists list1 and list2, check if list2 is a subset of list1 and return True or False accordingly.

Examples:

Input : list1 = [[2, 3, 1], [4, 5], [6, 8]] list2 = [[4, 5], [6, 8]] Output : True Input : list1 = [['a', 'b'], ['e'], ['c', 'd']] list2 = [['g']] Output : False


Let’s discuss few approaches to solve the problem.

Approach #1 : Naive Approach
Take a variable ‘exist’ which keeps track of each element, whether it is present in list1 or not. Start a loop and in each iteration ‘i’, check if ith element is present in list1. If present, set exist to True else false.




# Python3 Program to Check is a nested

# list is a subset of another nested list

def checkSubset[list1, list2]:

l1, l2 = list1[0], list2[0]

exist = True

for i in list2:

if i not in list1:

exist = False

return exist

# Driver Code

list1 = [[2, 3, 1], [4, 5], [6, 8]]

list2 = [[4, 5], [6, 8]]

print[checkSubset[list1, list2]]

Output:


True


Approach #2 : Using Python set
Convert each sublist of both the given nested lists to tuples, because sets can’t hold lists as they rely on their elements being immutable and lists are mutable. But converting them to tuple works well. After this, simply check if set of list2 is a subset of list1 or not.




# Python3 Program to Check is a nested

# list is a subset of another nested list

def checkSubset[list1, list2]:

temp1 = []

temp2 = []

for i in list1:

temp1.append[tuple[i]]

for i in list2:

temp2.append[tuple[i]]

return set[temp2] < set[temp1]

# Driver Code

list1 = [[2, 3, 1], [4, 5], [6, 8]]

list2 = [[4, 5], [6, 8]]

print[checkSubset[list1, list2]]

Output: True


Approach #3 : Using all and for loop
This method uses a for loop to check if all elements[using all] belongs to list1 or not.




# Python3 Program to Check is a nested

# list is a subset of another nested list

def checkSubset[list1, list2]:

return all[x in list1 for x in list2]

# Driver Code

list1 = [[2, 3, 1], [4, 5], [6, 8]]

list2 = [[4, 5], [6, 8]]

print[checkSubset[list1, list2]]

Output: True


Approach #4 : Using map[] and __contains__
In this approach we use Python map[] using the “containment check” operator __contains__, checking whether list1 elements are contained withing list2 or not.




# Python3 Program to Check is a nested

# list is a subset of another nested list

def checkSubset[list1, list2]:

return all[map[list1.__contains__, list2]]

# Driver Code

list1 = [[2, 3, 1], [4, 5], [6, 8]]

list2 = [[4, 5], [6, 8]]

print[checkSubset[list1, list2]]

Output: True




Article Tags :

Python

Python Programs

Python list-programs

python-list

Practice Tags :

python-list

Read Full Article

Lists within lists - What am I doing wrong?

Oops, try again. Make sure you have at least one unordered list inside your unordered list of profile sections!

Tracey Ocean

Iam a forty something mother currently residing in Greensboro NC

    Jobs
  1. Accountant
  2. Domestic Engineer
  3. Servant of God
  4. Entrepreneur
    1. Businesses
    2. Blest Creations
    3. Blest Enterprise
  5. Mother
    1. Hobbies
  6. Crafts
  7. Beading
  8. Sewing
  9. What’s a List of Lists?

    Definition: A list of lists in Python is a list object where each list element is a list by itself. Create a list of list in Python by using the square bracket notation to create a nested list [[1, 2, 3], [4, 5, 6], [7, 8, 9]].

    Do you want to develop the skills of a well-rounded Python professional—while getting paid in the process? Become a Python freelancer and order your book Leaving the Rat Race with Python on Amazon [Kindle/Print]!

    Memory Analysis

    It’s important that you understand that a list is only a series of references to memory locations. By playing with the code visualizer, you’ll gain a deeper understanding of how Python works at its core:

    Simply click the “Next” button to see how each line of code unfolds.

    Create a List of Lists in Python

    Create a list of lists by using the square bracket notation. For example, to create a list of lists of integer values, use [[1, 2], [3, 4]]. Each list element of the outer list is a nested list itself.

    Convert List of Lists to One List

    Say, you want to convert a list of lists [[1, 2], [3, 4]] into a single list [1, 2, 3, 4]. How to achieve this? There are different options:

    • List comprehension [x for l in lst for x in l] assuming you have a list of lists lst.
    • Unpacking [*lst[0], *lst[1]] assuming you have a list of two lists lst.
    • Using the extend[] method of Python lists to extend all lists in the list of lists.

    Find examples of all three methods in the following code snippet:

    lst = [[1, 2], [3, 4]] # Method 1: List Comprehension flat_1 = [x for l in lst for x in l] # Method 2: Unpacking flat_2 = [*lst[0], *lst[1]] # Method 3: Extend Method flat_3 = [] for l in lst: flat_3.extend[l] ## Check results: print[flat_1] # [1, 2, 3, 4] print[flat_2] # [1, 2, 3, 4] print[flat_3] # [1, 2, 3, 4]

    Due its simplicity and efficiency, the first list comprehension method is superior to the other two methods.

    The HTML Pocket Guide: Lists

    • Jul 15, 2010

    📄 Contents

    1. Nested Lists
    2. dd
    3. dl
    4. dt
    5. li
    6. ol
    7. ul

    • Print
    • + Share This

    Page 1 of 7 Next >

    HTML affords you three list types: definition list [dl], ordered list [ol], and unordered list [ul]. Bruce Hyslop explains each in depth in their respective entries in this chapter.

    This chapter is from the book

    This chapter is from the book

    HTML Pocket Guide, The

    Learn More Buy

    This chapter is from the book

    This chapter is from the book

    HTML Pocket Guide, The

    Learn More Buy

    Lists are one of the most commonly used semantic elements across the Web. This is particularly true of unordered lists, which are ubiquitous as the choice for marking up navigation and many other groups of links.

    Before I explain each list-related element, I'll discuss a capability that is common to all lists: nesting.

    Video liên quan

Bài mới nhất

Chủ Đề