A veces, mientras trabajamos con los diccionarios de Python, podemos tener un problema en el que tenemos claves asignadas con valores, donde las claves representan el índice de la lista donde se debe colocar el valor. Este tipo de problema puede tener aplicación en todos los dominios de datos, como el desarrollo web. Analicemos ciertas formas en que se puede realizar esta tarea.
Entrada : test_dict = { 1: ‘Gfg’, 3: ‘es’, 5: ‘Mejor’}
Salida : [0, ‘Gfg’, 0, ‘es’, 0, ‘Mejor’, 0, 0, 0, 0, 0]Entrada : test_dict = { 2: ‘Gfg’, 6: ‘Best’ }
Salida : [0, 0, ‘Gfg’, 0, 0, 0, ‘Best’, 0, 0, 0, 0]
Método #1: Usarlist comprehension + keys()
La combinación de las funciones anteriores se puede usar para resolver este problema. En esto, realizamos la tarea de asignar valores a la lista de verificación de índice, extrayendo las claves del diccionario para la búsqueda.
# Python3 code to demonstrate working of # Convert Index Dictionary to List # Using list comprehension + keys() # initializing dictionary test_dict = { 2 : 'Gfg', 4 : 'is', 6 : 'Best' } # printing original dictionary print("The original dictionary is : " + str(test_dict)) # Convert Index Dictionary to List # Using list comprehension + keys() res = [test_dict[key] if key in test_dict.keys() else 0 for key in range(10)] # printing result print("The converted list : " + str(res))
The original dictionary is : {2: 'Gfg', 4: 'is', 6: 'Best'} The converted list : [0, 0, 'Gfg', 0, 'is', 0, 'Best', 0, 0, 0]
Método n.º 2: usar la comprensión de listas +get()
La combinación de las funciones anteriores se puede usar para resolver este problema. En esto, extraemos el elemento usando get(), para asignar los valores predeterminados aprovechando el valor predeterminado que inicializa la propiedad de get().
# Python3 code to demonstrate working of # Convert Index Dictionary to List # Using list comprehension + get() # initializing dictionary test_dict = { 2 : 'Gfg', 4 : 'is', 6 : 'Best' } # printing original dictionary print("The original dictionary is : " + str(test_dict)) # Convert Index Dictionary to List # Using list comprehension + get() res = [test_dict.get(ele, 0) for ele in range(10)] # printing result print("The converted list : " + str(res))
The original dictionary is : {2: 'Gfg', 4: 'is', 6: 'Best'} The converted list : [0, 0, 'Gfg', 0, 'is', 0, 'Best', 0, 0, 0]
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