Python | Contar sublistas únicas dentro de la lista

Dada una lista de listas, la tarea es encontrar el recuento de sublistas únicas dentro de la lista.

Ejemplos:

Input: [['Geek', 'for', 'geeks'], ['geeks', 'for'],
        ['for', 'Geeks', 'geek'], ['Geek', 'for', 'geeks']]

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

A continuación se presentan algunas formas de lograr la tarea.

Método #1: Usar la iteración

# 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)
Producción:

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

 
Método n.º 2: usar el contador

# 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)
Producción:

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

 
Método #3: Usar Pandas

# 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)
Producción:

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

Publicación traducida automáticamente

Artículo escrito por everythingispossible y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *