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