Cambiar la clave en un diccionario en Python

  1. Asignar nueva clave y eliminar la clave anterior en un diccionario en Python
  2. Utilice la función pop() en Python
  3. Recorra el diccionario usando un bucle for y cambie la clave en un diccionario en Python
  4. Reconstruir una instancia completamente nueva en Python
  5. Utilice la clase OrderedDict en Python
  6. Utilice la función Pandas.DataFrame en Python
Cambiar la clave en un diccionario en Python

Este artículo presenta varios métodos para cambiar la clave en un diccionario en Python.

Asignar nueva clave y eliminar la clave anterior en un diccionario en Python

Para cambiar la clave en un diccionario en Python, siga estos pasos.

  1. Asigne una nueva llave a la antigua.
  2. Elimine la clave anterior.

Consulte el ejemplo a continuación, que demuestra estos pasos.

Python
 pythonCopydict_ex[new_key] = dict_ex[old_key]
del dict_ex[old_key]

El siguiente código ilustra este método.

Python
 pythonCopydict_ex = {1: "January", 2: "Febuary", 3: "March"}
print("Old dictionary-", dict_ex)
dict_ex[2.1] = dict_ex[2]
del dict_ex[2]
print("New dictionary-", dict_ex)

Aquí, vemos que el valor de la clave 2 se reemplaza por el valor 2.1. Tenga en cuenta cómo el par clave-valor actualizado se ha trasladado al final del diccionario.

Producción :

 textCopyOld dictionary- {1: 'January', 2: 'Febuary', 3: 'March'}
New dictionary- {1: 'January', 3: 'March', 2.1: 'Febuary'}

Utilice la función pop() en Python

Para cambiar la clave en un diccionario en Python, consulte los siguientes pasos.

El siguiente ejemplo ilustra esto.

Python
 pythonCopydict_ex = {1: "January", 2: "Febuary", 3: "March"}
print("Old dictionary-", dict_ex)
dict_ex[2.2] = dict_ex.pop(2)
print("New dictionary-", dict_ex)

Producción :

 textCopyOld dictionary- {1: 'January', 2: 'Febuary', 3: 'March'}
New dictionary- {1: 'January', 3: 'March', 2.2: 'Febuary'}

Aquí, vemos que el valor de la clave 2 se reemplaza por el valor 2.2. Tenga en cuenta cómo el par clave-valor actualizado se ha trasladado al final del diccionario.

Recorra el diccionario usando un bucle for y cambie la clave en un diccionario en Python

Para esto, primero toma el diccionario de destino y otro diccionario que contiene el nuevo valor de clave. Después de eso, eventualmente cambia todas las teclas en consecuencia usando un bucle for.

Python
 pythonCopydict_ex = {1: "Jan", 2: "Feb", 3: "Mar"}
print("Old dictionary-", dict_ex)
new_key_assign = {1: 111, 2: 2, 3: 3}
print("New dictionary-")
print(dict([(new_key_assign.get(key), value) for key, value in dict_ex.items()]))

Aquí, vemos que el valor de la clave 1 se reemplaza por el valor 111. Tenga en cuenta cómo esta vez se ha conservado el par clave-valor actualizado.

Producción :

 textCopyOld dictionary- {1: 'Jan', 2: 'Feb', 3: 'Mar'}
New dictionary-
{111: 'Jan', 2: 'Feb', 3: 'Mar'}

Reconstruir una instancia completamente nueva en Python

En el diccionario de Python 3.7+, puede conservar el orden. Para ello, reconstruya una instancia completamente nueva del diccionario de la siguiente manera.

Python
 pythonCopydict_ex = {"old_key": "Jan", 2: "Feb", 3: "Mar"}

{"new_key" if k == "old_key" else k: v for k, v in dict_ex.items()}

Aquí hay un ejemplo que demuestra esto.

Python
 pythonCopydict_ex = {1: "Jan", 2: "Feb", 3: "Mar"}

print({"one" if k == 1 else k: v for k, v in dict_ex.items()})

Aquí, vemos que el valor de la clave 1 se reemplaza por el valor one. Tenga en cuenta cómo esta vez se ha conservado el par clave-valor actualizado.

Producción :

 textCopy{'one': 'Jan', 2: 'Feb', 3: 'Mar'}

Utilice la clase OrderedDict en Python

En el diccionario Python 3.7+, puede conservar el orden utilizando el OrderedDict junto con una expresión generadora.

Tenga en cuenta que primero debe importar OrderedDict de collections. Luego, use la clase OrderedDict.

Python
 pythonCopyfrom collections import OrderedDict

dict_ex = {"old_key": "Jan", 2: "Feb", 3: "Mar"}
OrderedDict(("new_key" if k == 1 else k, v) for k, v in dict_ex.items())

Aquí tienes un ejemplo que puedes seguir.

Python
 pythonCopyfrom collections import OrderedDict

dict_ex = {1: "Jan", 2: "Feb", 3: "Mar"}
OrderedDict(("one" if k == 1 else k, v) for k, v in dict_ex.items())

Aquí, vemos que el valor de la clave 1 se reemplaza por el valor one. Tenga en cuenta cómo esta vez se ha conservado el par clave-valor actualizado.

Producción :

 textCopyOrderedDict([('one', 'Jan'), (2, 'Feb'), (3, 'Mar')])

Utilice la función Pandas.DataFrame en Python

Puede usar Pandas para cambiar una clave en un diccionario en Python. En primer lugar, importe la biblioteca pandas.

Luego, use la utilidad DataFrame de la siguiente manera.

Python
 pythonCopyimport pandas as pd

old_dictionary = {"old_value": "Jan", 2: "Feb", 3: "Mar"}
new_dictionary = {"new_value": "Jan", 2: "Feb", 3: "Mar"}
df = pd.DataFrame([old_dictionary, new_dictionary])

Consulte este programa de ejemplo.

Python
 pythonCopyimport pandas as pd

dict_ex = {1: "Jan", 2: "Feb", 3: "Mar"}
print(dict_ex)
new_dict_ex = {11: "Jan", 2: "Feb", 3: "Mar"}
df = pd.DataFrame([dict_ex, new_dict_ex])
print(new_dict_ex)

Aquí, vemos que el valor de la clave 1 se reemplaza por el valor 11. Tenga en cuenta cómo esta vez se ha conservado el par clave-valor actualizado.

Producción :

 textCopy{1: 'Jan', 2: 'Feb', 3: 'Mar'}
{11: 'Jan', 2: 'Feb', 3: 'Mar'}
¿Disfrutas de nuestros tutoriales? Suscríbete a DelftStack en YouTube para apoyarnos en la creación de más guías en vídeo de alta calidad. Suscríbete

Artículo relacionado - Python Dictionary