Python | Program to count number of lists in a list of lists
Last Updated :
28 Apr, 2023
Given a list of lists, write a Python program to count the number of lists contained within the list of lists.
Examples:
Input : [[1, 2, 3], [4, 5], [6, 7, 8, 9]]
Output : 3
Input : [[1], ['Bob'], ['Delhi'], ['x', 'y']]
Output : 4
Method #1 : Using len()
Python3
# Python3 program to Count number
# of lists in a list of lists
def countList(lst):
return len(lst)
# Driver code
lst = [[1, 2, 3], [4, 5], [6, 7, 8, 9]]
print(countList(lst))
Time Complexity: O(n)
Auxiliary Space: O(1)
Method #2: Using type()
Use a for loop and in every iteration to check if the type of the current item is a list or not, and accordingly increment 'count' variable. This method has a benefit over approach #1, as it works well for a list of heterogeneous elements.
Python3
# Python3 program to Count number
# of lists in a list of lists
def countList(lst):
count = 0
for el in lst:
if type(el) == type([]):
count += 1
return count
# Driver code
lst = [[1, 2, 3], [4, 5], [6, 7, 8, 9]]
print(countList(lst))
Time complexity: O(n), where n is the number of elements in the list.
Auxiliary space: O(1), as we are only using a single variable (count) to store the count of lists.
A one-liner alternative approach for the above code is given below:
Python3
def countList(lst):
return sum(type(el)== type([]) for el in lst)
Method #3 : Using isinstance() method
Python3
# Python3 program to Count number
# of lists in a list of lists
def countList(lst):
return sum(isinstance(i, list) for i in lst)
# Driver code
lst = [[1, 2, 3], [4, 5], [6, 7, 8, 9]]
print(countList(lst))
Time complexity: O(n), where n is the size of the set s.
Auxiliary space: O(n), as we are creating a list x with n elements, where n is the size of the set s.
Method#4: Using the list comprehension
Python3
lst = [[1, 2, 3], [4, 5], [6, 7, 8, 9]]
x=[i for i in lst]
print(len(x))
Time complexity: O(n), where n is the total number of elements in the list of lists.
Auxiliary space: O(n)
Method #5: Using enumerate function
Python3
lst = ["[1, 2, 3]", "[4, 5]", "[6, 7, 8, 9]"]
x=[list(i) for i in enumerate(lst)]
print(len(x))
Time complexity: O(n), where n is length of list.
Auxiliary Space: O(n), where n is length of list.
Method #6: Using lambda function
Python3
lst = [[1, 2, 3], [4, 5], [6, 7, 8, 9]]
x=list(filter(lambda i: (i),lst))
print(len(x))
The time complexity of this code is O(n*m), where n is the number of sublists in the list and m is the average length of the sublists.
The auxiliary space required by this code is also O(n*m), since the filter function creates a new list that contains the same elements as the original list.
Method #7: Using map()
Python3
lst = [[1, 2, 3], [4, 5], [6, 7, 8, 9]]
x=list(map(str,lst) )
print(len(x))
Method #8: Using eval()
Python3
lst = ["[1, 2, 3]", "[4, 5]", "[6, 7, 8, 9]"]
x=list(map(eval,lst) )
print(len(x))
Method #9 : Using recursion
This approach involves reducing the length of the list by 1 at each recursive step and increasing the count by 1 if the first element of the list is a list. The function returns 0 when the list is empty.
Python3
def count_lists(lst):
if lst == []:
return 0
return 1 + count_lists(lst[1:])
lst = [[1, 2, 3], [4, 5], [6, 7, 8, 9]]
print(count_lists(lst))
#This code is contributed by Edula Vinay Kumar Reddy
Time complexity: O(n), where n is the total number of elements in the list of lists. This is because the function processes each element of the list exactly once.
Auxiliary space: O(n) as well, since the maximum depth of the recursion tree is n in the worst case. For example, if the list of lists is a list of n single-element lists, the recursion tree will have a maximum depth of n. At each level of the tree, a new frame is added to the call stack, which takes up space in memory.
Method #10: Using ast.literal_eval()
Step-by-step approach:
- Import the ast module.
- Define the list of strings, lst.
- Create an empty list, num_list, to store the converted lists.
- Loop through each string in lst.
- Use ast.literal_eval() to convert the string to a list.
- Append the resulting list to num_list.
- Calculate the length of num_list using len().
- Print the length of num_list.
Python3
import ast
lst = ["[1, 2, 3]", "[4, 5]", "[6, 7, 8, 9]"]
num_list = []
for s in lst:
num_list.append(ast.literal_eval(s))
print(len(num_list))
Time complexity: O(n), where n is the length of lst. This is because we loop through each string in lst and apply ast.literal_eval() once for each string.
Auxiliary space: O(n), where n is the length of lst. This is because we create a list of the converted lists, which takes up space in memory.
Method #11: Using functools.reduce()
Step-by-step approach:
- Initialize a list of lists.
- Use reduce method on the list.
- reduce method takes a function, list, and initial value as parameters.
- reduce iterate over each item of the list and apply a function to it and return value.
- Function checks are an item an instance of the list or not, if it is then count 1 to the initial value else do nothing.
Python
# Python3 program to Count number
# of lists in a list of lists
from functools import reduce
# Function which count the number of list in list
def countList(lst):
return reduce(lambda a, b : a + 1 if isinstance(b, list) else a, lst, 0)
# Driver code
lst = [[1, 2, 3], [4, 5], [6, 7, 8, 9]]
print(countList(lst))
Time complexity: O(N), where N is the length of the list.
Auxiliary space: O(1), No extra space is used.
Similar Reads
Python Program to Count Even and Odd Numbers in a List In Python working with lists is a common task and one of the frequent operations is counting how many even and odd numbers are present in a given list. The collections.Counter method is the most efficient for large datasets, followed by the filter() and lambda approach for clean and compact code. Us
4 min read
Python program to count positive and negative numbers in a list In this article, we will explore various methods to count positive and negative numbers in a list. The simplest way to do this is by using a loop. This method counts the positive and negative numbers in a list by iterating through each element using for loop.Pythona = [10, -20, 30, -40, 50, -60, 0]
2 min read
Python | Program to count duplicates in a list of tuples Given a list of tuples, write a Python program to check if an element of the list has duplicates. If duplicates exist, print the number of occurrences of each duplicate tuple, otherwise print "No Duplicates". Examples: Input : [('a', 'e'), ('b', 'x'), ('b', 'x'), ('a', 'e'), ('b', 'x')] Output : ('a
6 min read
Python | Find number of lists in a tuple Given a tuple of lists, the task is to find number of lists in a tuple. This is a very basic problem but can be useful while making some utility application. Method #1: Using len Python3 # Python code to find number of list in a tuple # Initial list Input1 = ([1, 2, 3, 4], [5, 6, 7, 8]) Input2 = ([1
4 min read
Iterate Over a List of Lists in Python We are given a list that contains multiple sublists, and our task is to iterate over each of these sublists and access their elements. For example, if we have a list like this: [[1, 2], [3, 4], [5, 6]], then we need to loop through each sublist and access elements like 1, 2, 3, and so on. Using Nest
2 min read
Counting number of unique values in a Python list Counting the number of unique values in a Python list involves determining how many distinct elements are present disregarding duplicates.Using a SetUsing a set to count the number of unique values in a Python list leverages the property of sets where each element is stored only once.Pythonli = [1,
2 min read
Python List of List Programs A list of lists is a common data structure in Python, used for handling multi-dimensional data, matrix operations and hierarchical data processing. Python provides several ways to manipulate and transform lists of lists, including sorting, merging, filtering and converting them into different format
2 min read
Python List Counting Programs Python provides various methods, such as count(), dictionary-based counting, and list comprehensions, to efficiently handle counting operations. This collection of Python programs covers different ways to count elements in lists, including counting occurrences, matching elements, frequency analysis,
2 min read
How to Get the Number of Elements in a Python List In Python, lists are one of the most commonly used data structures to store an ordered collection of items.In this article, we'll learn how to find the number of elements in a given list with different methods.ExampleInput: [1, 2, 3.5, geeks, for, geeks, -11]Output: 7Let's explore various ways to do
3 min read
Python Program to sort rows of a matrix by custom element count Given Matrix, the following program shows how to sort rows of a matrix by the count of presence of numbers from a specified list. Input : test_list = [[4, 5, 1, 7], [6, 5], [9, 8, 2], [7, 1]], cus_list = [4, 5, 7] Output : [[9, 8, 2], [6, 5], [7, 1], [4, 5, 1, 7]] Explanation : 0 < 1 = 1 < 3 i
5 min read