Python | Agrupación de frecuencia de los elementos de la lista

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

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

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

Deja una respuesta

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