A veces, mientras trabajamos con datos, podemos tener un problema en el que necesitamos cambiar el tipo de valor de claves particulares en la lista del diccionario. Este tipo de problema puede tener aplicación en dominios de datos. Analicemos ciertas formas en que se puede realizar esta tarea.
Entrada : test_list = [{‘gfg’: 9, ‘mejor’: (7, 2), ‘es’: ‘4’}, {‘es’: ‘2’}]
Salida : [{‘gfg’: 9 , ‘mejor’: (7, 2), ‘es’: 4}, {‘es’: 2}]Entrada : test_list = [{‘es’: ‘98393’}]
Salida : [{‘es’: 98393}]
Método n.º 1: Uso del bucle
Esta es una forma de abordar este problema mediante la fuerza bruta. En esto, iteramos para todos los elementos de la lista y las claves del diccionario y convertimos el valor de la clave del diccionario deseado al tipo requerido.
# Python3 code to demonstrate working of # Change type of key in Dictionary list # Using loop # initializing list test_list = [{'gfg' : 1, 'is' : '56', 'best' : (1, 2)}, {'gfg' : 5, 'is' : '12', 'best' : (6, 2)}, {'gfg' : 3, 'is' : '789', 'best' : (7, 2)}] # printing original list print("The original list is : " + str(test_list)) # initializing change key chnge_key = 'is' # Change type of key in Dictionary list # Using loop for sub in test_list: sub[chnge_key] = int(sub[chnge_key]) # printing result print("The converted Dictionary list : " + str(test_list))
La lista original es: [{‘is’: ’56’, ‘gfg’: 1, ‘best’: (1, 2)}, {‘is’: ’12’, ‘gfg’: 5, ‘best’ : (6, 2)}, {‘is’: ‘789’, ‘gfg’: 3, ‘best’: (7, 2)}]
La lista de diccionarios convertida: [{‘is’: 56, ‘gfg’ : 1, ‘mejor’: (1, 2)}, {‘es’: 12, ‘gfg’: 5, ‘mejor’: (6, 2)}, {‘es’: 789, ‘gfg’: 3 , ‘mejor’: (7, 2)}]
Método n.° 2: Uso de la comprensión de listas
Esta tarea también se puede realizar utilizando la comprensión de listas como forma abreviada. En esto, iteramos para la lista de una manera más corta que la anterior con el mismo enfoque.
# Python3 code to demonstrate working of # Change type of key in Dictionary list # Using list comprehension # initializing list test_list = [{'gfg' : 1, 'is' : '56', 'best' : (1, 2)}, {'gfg' : 5, 'is' : '12', 'best' : (6, 2)}, {'gfg' : 3, 'is' : '789', 'best' : (7, 2)}] # printing original list print("The original list is : " + str(test_list)) # initializing change key chnge_key = 'is' # Change type of key in Dictionary list # Using list comprehension res = [{key : (int(val) if key == chnge_key else val) for key, val in sub.items()} for sub in test_list] # printing result print("The converted Dictionary list : " + str(res))
La lista original es: [{‘is’: ’56’, ‘gfg’: 1, ‘best’: (1, 2)}, {‘is’: ’12’, ‘gfg’: 5, ‘best’ : (6, 2)}, {‘is’: ‘789’, ‘gfg’: 3, ‘best’: (7, 2)}]
La lista de diccionarios convertida: [{‘is’: 56, ‘gfg’ : 1, ‘mejor’: (1, 2)}, {‘es’: 12, ‘gfg’: 5, ‘mejor’: (6, 2)}, {‘es’: 789, ‘gfg’: 3 , ‘mejor’: (7, 2)}]
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