Cambiar la clave en un diccionario en Python
- Asignar nueva clave y eliminar la clave anterior en un diccionario en Python
-
Utilice la función
pop()
en Python -
Recorra el diccionario usando un bucle
for
y cambie la clave en un diccionario en Python - Reconstruir una instancia completamente nueva en Python
-
Utilice la clase
OrderedDict
en Python -
Utilice la función
Pandas.DataFrame
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.
- Asigne una nueva llave a la antigua.
- Elimine la clave anterior.
Consulte el ejemplo a continuación, que demuestra estos pasos.
dict_ex[new_key] = dict_ex[old_key]
del dict_ex[old_key]
El siguiente código ilustra este método.
dict_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 :
Old 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.
-
Pop la vieja clave usando la función
pop
. Siga este ejemplo.pop(old_key)
-
Asignar una nueva clave a la vieja clave que apareció. Siga este ejemplo.
dict_ex[new_key] = dict_ex.pop(old_key)
El siguiente ejemplo ilustra esto.
dict_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 :
Old 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
.
dict_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 :
Old 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.
dict_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.
dict_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 :
{'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
.
from 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.
from 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 :
OrderedDict([('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.
import 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.
import 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 :
{1: 'Jan', 2: 'Feb', 3: 'Mar'}
{11: 'Jan', 2: 'Feb', 3: 'Mar'}
Artículo relacionado - Python Dictionary
- Cómo comprobar si existe una clave en un diccionario en Python
- Convertir un diccionario en una lista en Python
- Cómo obtener todos los archivos de un directorio
- Cómo encontrar el valor máximo en el Diccionario Python
- Cómo ordenar un diccionario Python por valor
- Cómo fusionar dos diccionarios en Python 2 y 3