Python: convertir la lista de diccionarios en orden de diccionarios anidados clave

Dada la lista de diccionarios, convertir a diccionario clave ordenado con cada diccionario contenido clave como su valor anidado.

Entrada : test_list = [{“Gfg”: 3, 4: 9}, {“is”: 8, “Good”: 2}]
Salida : {0: {‘Gfg’: 3, 4: 9}, 1: {‘is’: 8, ‘Good’: 2}}
Explicación : Lista convertida a diccionario con claves de índice.

Entrada : test_list = [{“es”: 8, “Bueno”: 2}]
Salida : {1: {‘es’: 8, ‘Bueno’: 2}}
Explicación : Lista convertida a diccionario con claves de índice, solo una fila.

Método n. ° 1: usar bucle + enumerar()

Esta es la forma bruta en la que se puede realizar esta tarea. En esto, iteramos a través del índice y el valor juntos usando enumerar y crear un diccionario personalizado requerido.

Python3

# Python3 code to demonstrate working of 
# Convert Dictionaries List to Order Key Nested dictionaries
# Using loop + enumerate()
  
# initializing lists
test_list = [{"Gfg" : 3, 4 : 9}, {"is": 8, "Good" : 2}, {"Best": 10, "CS" : 1}]
  
# printing original list
print("The original list : " + str(test_list))
  
# using enumerate() to extract key to map with dict values 
res = dict()
for idx, val in enumerate(test_list):
    res[idx] = val
      
# printing result 
print("The constructed dictionary : " + str(res))
Producción

The original list : [{'Gfg': 3, 4: 9}, {'is': 8, 'Good': 2}, {'Best': 10, 'CS': 1}]
The constructed dictionary : {0: {'Gfg': 3, 4: 9}, 1: {'is': 8, 'Good': 2}, 2: {'Best': 10, 'CS': 1}}

Método #2: Usar la comprensión del diccionario + enumerar() 

Esto es similar al método anterior, la única diferencia es que se utiliza la comprensión del diccionario en lugar del bucle para realizar la tarea de encapsulación.

Python3

# Python3 code to demonstrate working of 
# Convert Dictionaries List to Order Key Nested dictionaries
# Using dictionary comprehension + enumerate() 
  
# initializing lists
test_list = [{"Gfg" : 3, 4 : 9}, {"is": 8, "Good" : 2}, {"Best": 10, "CS" : 1}]
  
# printing original list
print("The original list : " + str(test_list))
  
# dictionary comprehension encapsulating result as one liner
res = {idx : val for idx, val in enumerate(test_list)}
      
# printing result 
print("The constructed dictionary : " + str(res))
Producción

The original list : [{'Gfg': 3, 4: 9}, {'is': 8, 'Good': 2}, {'Best': 10, 'CS': 1}]
The constructed dictionary : {0: {'Gfg': 3, 4: 9}, 1: {'is': 8, 'Good': 2}, 2: {'Best': 10, 'CS': 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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *