Python: cambia el tipo de clave en la lista del diccionario

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)) 
Producción :

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)) 
Producción :

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *