Programa de Python para convertir diccionario a lista repitiendo las teclas correspondientes valores veces

Dado un diccionario donde las claves son caracteres y sus valores constituyentes son números, la tarea aquí es escribir un programa en Python que pueda convertirlo en una lista repitiendo veces el valor del carácter clave.

Entrada: test_dict = {‘g’: 2, ‘f’: 3, ‘g’: 1, ‘b’: 4, ‘e’: 1, ‘s’: 4, ‘t’: 3}

Salida: [‘g’, ‘f’, ‘f’, ‘f’, ‘b’, ‘b’, ‘b’, ‘b’, ‘e’, ​​’s’, ‘s’, ‘s’ , ‘s’, ‘t’, ‘t’, ‘t’]

Explicación: f se agrega 3 veces en la lista.

Entrada: test_dict = {‘g’: 2, ‘f’: 3, ‘g’: 1, ‘b’: 4, ‘e’: 1}

Salida : [‘g’, ‘f’, ‘f’, ‘f’, ‘b’, ‘b’, ‘b’, ‘b’, ‘e’]

Explicación : f se agrega 3 veces en la lista.

Método 1: Usar el bucle y el operador *

En esto, los elementos se insertan usando un bucle y las ocurrencias se cuidan usando el operador *.

Programa:

Python3

# initializing dictionary
test_dict = {'g': 2, 'f': 3, 'g': 1, 'b': 4, 'e': 1, 's': 4, 't': 3}
  
# printing original dictionary
print("The original dictionary is : " + str(test_dict))
  
res = []
for key, val in test_dict.items():
  
    # getting values using * operator
    res += [key] * val
  
# printing result
print("The constructed list : " + str(res))

Producción:

El diccionario original es: {‘g’: 1, ‘f’: 3, ‘b’: 4, ‘e’: 1, ‘s’: 4, ‘t’: 3}

La lista construida: [‘g’, ‘f’, ‘f’, ‘f’, ‘b’, ‘b’, ‘b’, ‘b’, ‘e’, ​​’s’, ‘s’, ‘ s’, ‘s’, ‘t’, ‘t’, ‘t’]

Método 2: Usar la comprensión de listas

Esto utiliza un enfoque de bucle anidado que utiliza la comprensión de listas como un trazador de líneas para resolver este problema. Iterar los valores tanto como sea necesario.

Programa:

Python3

# initializing dictionary
test_dict = {'g': 2, 'f': 3, 'g': 1, 'b': 4, 'e': 1, 's': 4, 't': 3}
  
# printing original dictionary
print("The original dictionary is : " + str(test_dict))
  
# nested list comprehension to solve problem
res = [key for key, val in test_dict.items() for _ in range(val)]
  
# printing result
print("The constructed list : " + str(res))

Producción:

El diccionario original es: {‘g’: 1, ‘f’: 3, ‘b’: 4, ‘e’: 1, ‘s’: 4, ‘t’: 3}

La lista construida: [‘g’, ‘f’, ‘f’, ‘f’, ‘b’, ‘b’, ‘b’, ‘b’, ‘e’, ​​’s’, ‘s’, ‘ s’, ‘s’, ‘t’, ‘t’, ‘t’]

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 *