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))
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))
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