Python – Convertir lista a lista de diccionarios

Dada la lista de valores y la lista de claves, convierta estos valores en pares de valores clave en forma de lista de diccionarios.

Entrada : test_list = [“Gfg”, 3, “is”, 8], key_list = [“name”, “id”]
Salida : [{‘name’: ‘Gfg’, ‘id’: 3}, {‘ name’: ‘is’, ‘id’: 8}]
Explicación : valores asignados por clave personalizada, «name» -> «Gfg», «id» -> 3.

Entrada : test_list = [“Gfg”, 10], key_list = [“name”, “id”]
Salida : [{‘name’: ‘Gfg’, ‘id’: 10}]
Explicación : Conversión de listas a lista de registros por mapeo de claves.

Método n. ° 1: usar loop + comprensión de diccionario

Esta es una de las formas en que se puede realizar esta tarea. En esto, realizamos el mapeo de valores utilizando la comprensión del diccionario. La iteración se realiza mediante bucle.

Python3

# Python3 code to demonstrate working of 
# Convert List to List of dictionaries
# Using dictionary comprehension + loop
  
# initializing lists
test_list = ["Gfg", 3, "is", 8, "Best", 10, "for", 18, "Geeks", 33]
  
# printing original list
print("The original list : " + str(test_list))
  
# initializing key list 
key_list = ["name", "number"]
  
# loop to iterate through elements
# using dictionary comprehension
# for dictionary construction
n = len(test_list)
res = []
for idx in range(0, n, 2):
    res.append({key_list[0]: test_list[idx], key_list[1] : test_list[idx + 1]})
  
# printing result 
print("The constructed dictionary list : " + str(res))
Producción

La lista original: [‘Gfg’, 3, ‘is’, 8, ‘Best’, 10, ‘for’, 18, ‘Geeks’, 33]
La lista del diccionario construido: [{‘name’: ‘Gfg’, ‘número’: 3}, {‘nombre’: ‘es’, ‘número’: 8}, {‘nombre’: ‘Mejor’, ‘número’: 10}, {‘nombre’: ‘para’, ‘número ‘: 18}, {‘nombre’: ‘Geeks’, ‘número’: 33}]

Método #2: Uso de comprensión de diccionario + comprensión de lista

La combinación de las funciones anteriores se utiliza para resolver este problema. En esto, realizamos una tarea similar al método anterior. Pero la diferencia es que se realiza como taquigrafía.

Python3

# Python3 code to demonstrate working of 
# Convert List to List of dictionaries
# Using zip() + list comprehension
  
# initializing lists
test_list = ["Gfg", 3, "is", 8, "Best", 10, "for", 18, "Geeks", 33]
  
# printing original list
print("The original list : " + str(test_list))
  
# initializing key list 
key_list = ["name", "number"]
  
# using list comprehension to perform as shorthand
n = len(test_list)
res = [{key_list[0]: test_list[idx], key_list[1]: test_list[idx + 1]}
       for idx in range(0, n, 2)]
  
# printing result 
print("The constructed dictionary list : " + str(res))
Producción

La lista original: [‘Gfg’, 3, ‘is’, 8, ‘Best’, 10, ‘for’, 18, ‘Geeks’, 33]
La lista del diccionario construido: [{‘name’: ‘Gfg’, ‘número’: 3}, {‘nombre’: ‘es’, ‘número’: 8}, {‘nombre’: ‘Mejor’, ‘número’: 10}, {‘nombre’: ‘para’, ‘número ‘: 18}, {‘nombre’: ‘Geeks’, ‘número’: 33}]

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 *