 GeeksforGeeks App
Open App Browser
Continue

# Python | Check if a list exists in given list of lists

Given a list of lists, the task is to check if a list exists in given list of lists.

```Input :
lst = [[1, 1, 1, 2], [2, 3, 4], [1, 2, 3], [4, 5, 6]]
list_search = [4, 5, 6]

Output:  True

Input :
lst = [[5, 6, 7], [12, 54, 9], [1, 2, 3]]
list_search = [4, 12, 54]

Output:  False```

Let’s discuss certain ways in which this task is performed.

Method #1: Using Counter The most concise and readable way to find whether a list exists in list of lists is using Counter.

## Python3

 `# Python code find whether a list``# exists in list of list.``import` `collections` `# Input List Initialization``Input` `=` `[[``1``, ``1``, ``1``, ``2``], [``2``, ``3``, ``4``], [``1``, ``2``, ``3``], [``4``, ``5``, ``6``]]` `# List to be searched``list_search ``=` `[``2``, ``3``, ``4``]` `# Flag initialization``flag ``=` `0` `# Using Counter``for` `elem ``in` `Input``:``    ``if` `collections.Counter(elem) ``=``=` `collections.Counter(list_search) :``        ``flag ``=` `1``    ` `# Check whether list exists or not.   ``if` `flag ``=``=` `0``:``    ``print``("``False``")``else``:``    ``print``("``True``")`

Output:

`True`

Time Complexity: O(n)
Auxiliary Space: O(1)

Method #2: Using in

## Python3

 `# Python code find whether a list``# exists in list of list.` `# Input List Initialization``Input` `=` `[[``1``, ``1``, ``1``, ``2``], [``2``, ``3``, ``4``], [``1``, ``2``, ``3``], [``4``, ``5``, ``6``]]` `# List to be searched``list_search ``=` `[``1``, ``1``, ``1``, ``2``]` `# Using in to find whether``# list exists or not``if` `list_search ``in` `Input``:``    ``print``("``True``")``else``:``    ``print``("``False``")`

Output:

`True`

Method #3: Using any

## Python3

 `# Python code find whether a list``# exists in list of list.` `# Input List Initialization``Input` `=` `[[``1``, ``1``, ``1``, ``2``], [``2``, ``3``, ``4``], [``1``, ``2``, ``3``], [``4``, ``5``, ``6``]]` `# List to be searched``list_search ``=` `[``4``, ``5``, ``6``]` `# Using any to find whether``# list exists or not``if` `any``(``list` `=``=` `list_search ``for` `list` `in` `Input``):``    ``print``("``True``")``else``:``    ``print``("``False``")``   `

Output:

`True`

Method #4 : Using count() method

## Python3

 `# Python code find whether a list``# exists in list of list.` `# Input List Initialization``Input` `=` `[[``1``, ``1``, ``1``, ``2``], [``2``, ``3``, ``4``], [``1``, ``2``, ``3``], [``4``, ``5``, ``6``]]` `# List to be searched``list_search ``=` `[``2``, ``3``, ``4``]``res``=``False``if``(``Input``.count(list_search)>``=``1``):``    ``res``=``True``print``(res)`

Output

`True`

Time Complexity: O(n), where n is length of Input list.
Auxiliary Space: O(1)

Method #5: Using all() and any() both

Here is an approach using a list comprehension and the all function:

## Python3

 `# Python code find whether a list``# exists in list of list.` `#initialization``lst ``=` `[[``1``, ``1``, ``1``, ``2``], [``2``, ``3``, ``4``], [``1``, ``2``, ``3``], [``4``, ``5``, ``6``]]``list_search ``=` `[``4``, ``5``, ``6``]``#list comprehension generates a list of boolean values that``#indicate whether list_search is contained in each sublist in lst.``result ``=` `any``(``all``(item ``in` `sublist ``for` `item ``in` `list_search) ``for` `sublist ``in` `lst)``#printing result``print``(result)``#This code is contributed by Edula Vinay Kumar Reddy`

Output

`True`

This would also output True.

The any function returns True if any element in the input iterable is True, and False otherwise. In this case, the list comprehension generates a list of boolean values that indicate whether list_search is contained in each sublist in lst. The any function then returns True if any of these boolean values is True, which indicates that list_search exists in lst.

In terms of time complexity, this approach has a complexity of O(n) since it needs to iterate over all the sublists in lst to check for the presence of list_search. In terms of space complexity, it has a complexity of O(n) since it creates a list of boolean values that is the same size as lst.

My Personal Notes arrow_drop_up