Python | Creación de diccionarios utilizando el contenido de la lista

A veces necesitamos manejar los datos que vienen en formato de lista y convertir la lista en formato de diccionario. Este problema en particular es bastante común cuando tratamos con Machine Learning para proporcionar más entradas en formatos modificados. Analicemos ciertas formas en que ocurre esta interconversión.

Método #1: Usar la comprensión del diccionario +zip()

En este método, usamos la comprensión del diccionario para realizar la iteración y la parte lógica, el enlace de todas las listas en un diccionario y con las claves asociadas se realiza mediante la función zip.

# Python3 code to demonstrate
# Dictionary creation using list contents
# using Dictionary comprehension + zip()
  
# initializing list
keys_list = ["key1", "key2"]
nested_name = ["Manjeet", "Nikhil"]
nested_age = [22, 21]
  
# printing original lists
print("The original key list : " + str(keys_list))
print("The original nested name list : " + str(nested_name))
print("The original nested age list : " + str(nested_age))
  
# using Dictionary comprehension + zip()
# Dictionary creation using list contents
res = {key: {'name': name, 'age': age} for key, name, age in
              zip(keys_list, nested_name, nested_age)}
  
# print result
print("The dictionary after construction : " + str(res))
Producción :

La lista original de claves: [‘key1’, ‘key2’]
La lista original de nombres anidados: [‘Manjeet’, ‘Nikhil’]
La lista original de edades anidadas: [22, 21]
El diccionario después de la construcción: {‘key1’: {‘edad’: 22, ‘nombre’: ‘Manjeet’}, ‘key2’: {‘edad’: 21, ‘nombre’: ‘Nikhil’}}

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

La tarea similar se puede realizar usando enumerate la función que realizó la función zip. La comprensión del diccionario realiza una tarea similar a la anterior.

# Python3 code to demonstrate
# Dictionary creation using list contents
# using dictionary comprehension + enumerate()
  
# initializing list
keys_list = ["key1", "key2"]
nested_name = ["Manjeet", "Nikhil"]
nested_age = [22, 21]
  
# printing original lists
print("The original key list : " + str(keys_list))
print("The original nested name list : " + str(nested_name))
print("The original nested age list : " + str(nested_age))
  
# using dictionary comprehension + enumerate()
# Dictionary creation using list contents
res = {val : {"name": nested_name[key], "age": nested_age[key]}
       for key, val in enumerate(keys_list)}
  
# print result
print("The dictionary after construction : " + str(res))
Producción :

La lista original de claves: [‘key1’, ‘key2’]
La lista original de nombres anidados: [‘Manjeet’, ‘Nikhil’]
La lista original de edades anidadas: [22, 21]
El diccionario después de la construcción: {‘key1’: {‘edad’: 22, ‘nombre’: ‘Manjeet’}, ‘key2’: {‘edad’: 21, ‘nombre’: ‘Nikhil’}}

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 *