Python | Count unique sublists within list

Given a list of lists, the task is to find the count of unique sublists within list. Examples: 

Input: [['Geek', 'for', 'Beginner'], ['Beginner', 'for'],
        ['for', 'Beginner', 'geek'], ['Geek', 'for', 'Beginner']]

Output:
{('Beginner', 'for'): 1, ('for', 'Beginner', 'geek'): 1, 
 ('Geek', 'for', 'Beginner'): 2}

Below are some ways to achieve the task. Method #1: Using Iteration 

Python3




# Python code to count unique sublist within list
 
# Input list initialization
Input = [['Geek', 'for', 'Beginner'], ['Beginner', 'for'],
         ['for', 'Beginner', 'geek'], ['Geek', 'for', 'Beginner']]
 
# Output list initialization
Output = {}
 
# Using Iteration
for lis in Input:
    Output.setdefault(tuple(lis), list()).append(1)
for a, b in Output.items():
    Output[a] = sum(b)
 
# Printing output
print(Output)


Output:

{(‘Geek’, ‘for’, ‘Beginner’): 2, (‘Beginner’, ‘for’): 1, (‘for’, ‘Beginner’, ‘geek’): 1}

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

  Method #2: Using Counter 

Python3




# Python code to find count of unique list in list of list
 
# Importing counter from collection
from collections import Counter
 
# Input list initialization
lst = [[1, 2, 3], [4, 5, 6], [3, 2, 1], [1, 2, 3]]
 
# Using counter
Output = Counter([tuple(i) for i in lst])
 
# Printing output
print(Output)


Output:

Counter({(1, 2, 3): 2, (3, 2, 1): 1, (4, 5, 6): 1})

Time Complexity: O(n), where n is the number of elements in the list “test_list”.
Auxiliary Space: O(1), constant space needed

  Method #3: Using Pandas 

Python3




# Python code to count unique sublist within list
 
# Importing
from collections import Counter
import pandas as pd                    
 
# Input list initialization
lst = [[1, 2, 3], [4, 5, 6], [3, 2, 1], [1, 2, 3]]
 
# Getting count
dict = Counter([tuple(i) for i in lst])
 
# Creating pandas dataframe
Output = pd.DataFrame(data ={'list': list(dict.keys()),
                         'count': list(dict.values())})
 
# Printing output
print(Output)


Output:

count       list
0      1  (3, 2, 1)
1      1  (4, 5, 6)
2      2  (1, 2, 3)

Time Complexity: O(n), where n is the length of the list 
Auxiliary Space: O(n) additional space of size n is created where n is the number of elements in the list 



Contact Us