A veces, mientras trabajamos con listas, podemos tener un problema en el que necesitamos agrupar elementos junto con su frecuencia en forma de lista de tupla. Analicemos ciertas formas en que se puede realizar esta tarea.
Método n.º 1: Uso del bucle
Este es un método de fuerza bruta para realizar esta tarea en particular. En esto, iteramos cada elemento, verificamos su presencia en otra lista, si es así, luego aumentamos su conteo y lo ponemos en tupla.
# Python3 code to demonstrate working of # Frequency grouping of list elements # using loop # initialize list test_list = [1, 3, 3, 1, 4, 4] # printing original list print("The original list : " + str(test_list)) # Frequency grouping of list elements # using loop res = [] temp = dict() for ele in test_list: if ele in temp: temp[ele] = temp[ele] + 1 else : temp[ele] = 1 for key in temp: res.append((key, temp[key])) # printing result print("Frequency of list elements : " + str(res))
The original list : [1, 3, 3, 1, 4, 4] Frequency of list elements : [(1, 2), (3, 2), (4, 2)]
Método #2: UsoCounter() + items()
La combinación de dos funciones se puede utilizar para realizar esta tarea. Realizan esta tarea utilizando construcciones incorporadas y son una abreviatura para realizar esta tarea.
# Python3 code to demonstrate working of # Frequency grouping of list elements # using Counter() + items() from collections import Counter # initialize list test_list = [1, 3, 3, 1, 4, 4] # printing original list print("The original list : " + str(test_list)) # Frequency grouping of list elements # using Counter() + items() res = list(Counter(test_list).items()) # printing result print("Frequency of list elements : " + str(res))
The original list : [1, 3, 3, 1, 4, 4] Frequency of list elements : [(1, 2), (3, 2), (4, 2)]
Publicación traducida automáticamente
Artículo escrito por manjeet_04 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA