Python: convierte el diccionario de frecuencias en una lista

A veces, mientras trabajamos con diccionarios de Python, podemos tener un problema en el que necesitamos construir la lista a partir de los valores del diccionario. Esta tarea es inversa a encontrar la frecuencia y tiene aplicación en la programación día a día y en el dominio del desarrollo web. Analicemos ciertas formas en que se puede realizar esta tarea.

Entrada: test_dict = {‘gfg’: 3, ‘ide’: 2}
Salida: [‘gfg’, ‘gfg’, ‘gfg’, ‘ide’, ‘ide’]


Entrada:
test_dict = {‘practice’: 1, ‘write’: 2, ‘ide’: 4}
Output: [‘practice’, ‘write’, ‘write’, ‘ide’, ‘ide’, ‘ide’, ‘ide’]

Método n.º 1: Uso del bucle
Esta es una forma bruta de resolver este problema. En esto, iteramos para el diccionario y extraemos la frecuencia y replicamos los elementos en esa frecuencia.

# Python3 code to demonstrate working of 
# Convert Frequency dictionary to list
# Using loop
  
# initializing dictionary
test_dict = {'gfg' : 4, 'is' : 2, 'best' : 5}
  
# printing original dictionary
print("The original dictionary : " + str(test_dict))
  
# Convert Frequency dictionary to list
# Using loop
res = []
for key in test_dict:
    for idx in range(test_dict[key]):
        res.append(key)
      
# printing result 
print("The resultant list : " + str(res)) 
Producción :

El diccionario original: {‘is’: 2, ‘best’: 5, ‘gfg’: 4}
La lista resultante: [‘is’, ‘is’, ‘best’, ‘best’, ‘best’, ‘best ‘, ‘mejor’, ‘gfg’, ‘gfg’, ‘gfg’, ‘gfg’]

Método #2: Uso de la comprensión de listas
Este método es similar al método anterior con respecto al trabajo. Esta es una abreviatura del método anterior.

# Python3 code to demonstrate working of 
# Convert Frequency dictionary to list
# Using list comprehension
  
# initializing dictionary
test_dict = {'gfg' : 4, 'is' : 2, 'best' : 5}
  
# printing original dictionary
print("The original dictionary : " + str(test_dict))
  
# Convert Frequency dictionary to list
# Using list comprehension
res = [[key] * test_dict[key] for key in test_dict]
      
# printing result 
print("The resultant list : " + str(res)) 
Producción :

El diccionario original: {‘is’: 2, ‘best’: 5, ‘gfg’: 4}
La lista resultante: [‘is’, ‘is’, ‘best’, ‘best’, ‘best’, ‘best ‘, ‘mejor’, ‘gfg’, ‘gfg’, ‘gfg’, ‘gfg’]

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 *