Python – Frecuencia de paso de elementos en la lista

A veces, mientras trabajamos con Python, podemos tener un problema en el que necesitamos calcular la frecuencia en la lista. Este es un problema bastante común y puede tener un caso de uso en muchos dominios. Pero a veces podemos tener problemas en los que necesitamos un recuento incremental de elementos en la lista. Analicemos ciertas formas en que se puede realizar esta tarea.

Método n.º 1: Usar loop +defaultdict()
La combinación de las funciones anteriores se puede usar para realizar esta tarea. En esto, simplemente inicializamos la lista con un valor predeterminado e incrementamos su frecuencia usando un ciclo.

# Python3 code to demonstrate 
# Step Frequency of elements in List
# using loop + defaultdict()
from collections import defaultdict
  
# Initializing loop 
test_list = ['gfg', 'is', 'best', 'gfg', 'is', 'life']
  
# printing original list 
print("The original list is : " + str(test_list))
  
# Step Frequency of elements in List
# using loop + defaultdict()
res_d = defaultdict(int)
res = []
for ele in test_list:
    res_d[ele] += 1
    res.append(res_d[ele])
  
# printing result 
print ("Step frequency of elements is : " + str(res))
Producción :

The original list is : ['gfg', 'is', 'best', 'gfg', 'is', 'life']
Step frequency of elements is : [1, 1, 1, 2, 2, 1]

Método #2: Usarlist comprehension + enumerate()
La combinación de las funciones anteriores se puede usar para resolver este problema. En esto solo iteramos y almacenamos el contador usando enumerate().

# Python3 code to demonstrate 
# Step Frequency of elements in List
# using list comprehension + enumerate()
from collections import defaultdict
  
# Initializing loop 
test_list = ['gfg', 'is', 'best', 'gfg', 'is', 'life']
  
# printing original list 
print("The original list is : " + str(test_list))
  
# Step Frequency of elements in List
# using list comprehension + enumerate()
res = [test_list[ : idx + 1].count(ele) for (idx, ele) in enumerate(test_list)]
  
# printing result 
print ("Step frequency of elements is : " + str(res))
Producción :

The original list is : ['gfg', 'is', 'best', 'gfg', 'is', 'life']
Step frequency of elements is : [1, 1, 1, 2, 2, 1]

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 *