A veces, mientras trabajamos con Python Data, podemos tener problemas en los que tenemos datos entrantes en diferentes formatos. En esto, podemos recibir datos como clave y valor en un diccionario separado y requerimos hacer valores como lista de registros con una nueva clave. Analicemos ciertas formas en que se puede realizar esta tarea.
Método n.º 1: Uso zip()
del bucle +
La combinación de las funcionalidades anteriores se puede utilizar para resolver este problema. En este, realizamos el emparejamiento mediante zip y la intervención manual de adición de clave se realiza de forma bruta.
# Python3 code to demonstrate working of # Nested Records List from Lists # Using zip() + loop # initializing lists test_list1 = ['gfg', 'best'] test_list2 = [[1, 2], [3, 4]] # printing original lists print("The original list 1 is : " + str(test_list1)) print("The original list 2 is : " + str(test_list2)) # initializing add_key add_key = 'id' # Nested Records List from Lists # Using zip() + loop res = dict() for key, val in zip(test_list1, test_list2): res[key]=[{add_key : idx} for idx in val] # printing result print("The constructed dictionary is : " + str(res))
La lista original 1 es: [‘gfg’, ‘best’]
La lista original 2 es: [[1, 2], [3, 4]]
El diccionario construido es: {‘gfg’: [{‘id’: 1}, {‘id’: 2}], ‘mejor’: [{‘id’: 3}, {‘id’: 4}]}
Método #2: Usar la comprensión del diccionario +zip()
Esta es otra forma más de realizar esta tarea. Esto es similar al método anterior, solo una alternativa de una sola línea de arriba.
# Python3 code to demonstrate working of # Nested Records List from Lists # Using dictionary comprehension + zip() # initializing lists test_list1 = ['gfg', 'best'] test_list2 = [[1, 2], [3, 4]] # printing original lists print("The original list 1 is : " + str(test_list1)) print("The original list 2 is : " + str(test_list2)) # initializing add_key add_key = 'id' # Nested Records List from Lists # Using dictionary comprehension + zip() res = {key : [{add_key : idx} for idx in val] for key, val in zip(test_list1, test_list2)} # printing result print("The constructed dictionary is : " + str(res))
La lista original 1 es: [‘gfg’, ‘best’]
La lista original 2 es: [[1, 2], [3, 4]]
El diccionario construido es: {‘gfg’: [{‘id’: 1}, {‘id’: 2}], ‘mejor’: [{‘id’: 3}, {‘id’: 4}]}
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