Open In App

# 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', 'geeks'], ['geeks', 'for'],
['for', 'Geeks', 'geek'], ['Geek', 'for', 'geeks']]

Output:
{('geeks', 'for'): 1, ('for', 'Geeks', 'geek'): 1,
('Geek', 'for', 'geeks'): 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'``, ``'geeks'``], [``'geeks'``, ``'for'``],``         ``[``'for'``, ``'Geeks'``, ``'geek'``], [``'Geek'``, ``'for'``, ``'geeks'``]]` `# 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’, ‘geeks’): 2, (‘geeks’, ‘for’): 1, (‘for’, ‘Geeks’, ‘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