Mientras trabajamos con datos, podemos encontrarnos con varias interconversiones de datos que deseamos realizar. Estos pueden ser de transcribir una clave dentro de una lista de diccionario a la parte exterior para generalizaciones. Este tipo de utilidad es bastante útil de conocer. Analicemos ciertas formas en que esto se puede realizar.
Método #1: Usar la comprensión del diccionario
Esta tarea en particular se puede realizar utilizando el método de comprensión de diccionario en el que asignamos las claves y valores de las listas deseadas y rehacemos el diccionario.
# Python3 code to demonstrate # Dictionary key transcription # dictionary comprehension # initializing list test_list = [{'state' : 'Haryana', 'capital' : 'Chandigarh', 'area' : 'North'}, {'state' : 'Karnataka', 'capital' : 'Bengaluru', 'area' : 'South'}] # printing original list print("The original list : " + str(test_list)) # using Dictionary comprehension # Dictionary key transcription res = { sub["state"]: {"capital": sub["capital"], "area": sub["area"] } for sub in test_list } # print result print("The Dictionary after transcription of key : " + str(res))
La lista original: [{‘capital’: ‘Chandigarh’, ‘estado’: ‘Haryana’, ‘área’: ‘Norte’}, {‘capital’: ‘Bengaluru’, ‘estado’: ‘Karnataka’, ‘área ‘: ‘Sur’}]
El Diccionario después de la transcripción de la clave: {‘Haryana’: {‘capital’: ‘Chandigarh’, ‘área’: ‘Norte’}, ‘Karnataka’: {‘capital’: ‘Bengaluru’, ‘área’: ‘Sur’ }}
Método #2: Usar la comprensión del diccionario +items() + get()
Esta tarea también se puede realizar utilizando un conjunto de funciones. Este método permite la flexibilidad de agregar cualquier clave de su elección. Esto es útil en los casos en que las claves no se conocen de antemano.
# Python3 code to demonstrate # Dictionary key transcription # dictionary comprehension + items() + get() # initializing list test_list = [{'state' : 'Haryana', 'capital' : 'Chandigarh', 'area' : 'North'}, {'state' : 'Karnataka', 'capital' : 'Bengaluru', 'area' : 'South'}] # printing original list print("The original list : " + str(test_list)) # using dictionary comprehension + items() + get() # Dictionary key transcription res = {sub.get('state'): {key: val for key, val in sub.items() if key != 'state'} for sub in test_list} # print result print("The Dictionary after transcription of key : " + str(res))
La lista original: [{‘capital’: ‘Chandigarh’, ‘estado’: ‘Haryana’, ‘área’: ‘Norte’}, {‘capital’: ‘Bengaluru’, ‘estado’: ‘Karnataka’, ‘área ‘: ‘Sur’}]
El Diccionario después de la transcripción de la clave: {‘Haryana’: {‘capital’: ‘Chandigarh’, ‘área’: ‘Norte’}, ‘Karnataka’: {‘capital’: ‘Bengaluru’, ‘área’: ‘Sur’ }}
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