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))
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))
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