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