Changer la clé dans un dictionnaire en Python
- Attribuer une nouvelle clé et supprimer l’ancienne clé dans un dictionnaire en Python
-
Utiliser la fonction
pop()
en Python -
Parcourez le dictionnaire à l’aide d’une boucle
for
et modifiez la clé dans un dictionnaire en Python - Reconstruire une instance entièrement nouvelle en Python
-
Utiliser la classe
OrderedDict
en Python -
Utiliser la fonction
Pandas.DataFrame
en Python
Cet article présente diverses méthodes pour changer la clé dans un dictionnaire en Python.
Attribuer une nouvelle clé et supprimer l’ancienne clé dans un dictionnaire en Python
Pour modifier la clé dans un dictionnaire en Python, procédez comme suit.
- Attribuez une nouvelle clé à l’ancienne clé.
- Supprimez l’ancienne clé.
Consultez l’exemple ci-dessous, qui illustre ces étapes.
dict_ex[new_key] = dict_ex[old_key]
del dict_ex[old_key]
Le code suivant illustre cette méthode.
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)
Ici, on voit que la valeur de la clé 2
est remplacée par la valeur 2.1
. Veuillez noter que la paire clé-valeur mise à jour a été déplacée à la fin du dictionnaire.
Production:
Old dictionary- {1: 'January', 2: 'Febuary', 3: 'March'}
New dictionary- {1: 'January', 3: 'March', 2.1: 'Febuary'}
Utiliser la fonction pop()
en Python
Pour changer la clé dans un dictionnaire en Python, reportez-vous aux étapes suivantes.
-
Pop l’ancienne touche à l’aide de la fonction
pop
. Suivez cet exemple.pop(old_key)
-
Attribuez une nouvelle clé à l’ancienne clé sautée. Suivez cet exemple.
dict_ex[new_key] = dict_ex.pop(old_key)
L’exemple ci-dessous illustre cela.
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)
Production:
Old dictionary- {1: 'January', 2: 'Febuary', 3: 'March'}
New dictionary- {1: 'January', 3: 'March', 2.2: 'Febuary'}
Ici, on voit que la valeur de la clé 2
est remplacée par la valeur 2.2
. Veuillez noter que la paire clé-valeur mise à jour a été déplacée à la fin du dictionnaire.
Parcourez le dictionnaire à l’aide d’une boucle for
et modifiez la clé dans un dictionnaire en Python
Pour cela, vous prenez d’abord le dictionnaire cible et un autre dictionnaire contenant la nouvelle valeur de clé. Après cela, vous finissez par basculer toutes les clés en conséquence en utilisant une boucle 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()]))
Ici, on voit que la valeur de la clé 1
est remplacée par la valeur 111
. Veuillez noter que la paire clé-valeur mise à jour a été conservée cette fois.
Production:
Old dictionary- {1: 'Jan', 2: 'Feb', 3: 'Mar'}
New dictionary-
{111: 'Jan', 2: 'Feb', 3: 'Mar'}
Reconstruire une instance entièrement nouvelle en Python
Dans le dictionnaire Python 3.7+, vous pouvez conserver l’ordre. Pour cela, reconstruisez une toute nouvelle instance du dictionnaire comme suit.
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()}
Voici un exemple qui le démontre.
dict_ex = {1: "Jan", 2: "Feb", 3: "Mar"}
print({"one" if k == 1 else k: v for k, v in dict_ex.items()})
Ici, on voit que la valeur de la clé 1
est remplacée par la valeur one
. Veuillez noter que la paire clé-valeur mise à jour a été conservée cette fois.
Production:
{'one': 'Jan', 2: 'Feb', 3: 'Mar'}
Utiliser la classe OrderedDict
en Python
Dans le dictionnaire Python 3.7+, vous pouvez conserver l’ordre en utilisant le OrderedDict
avec une expression génératrice.
Notez que vous devez d’abord importer OrderedDict
depuis collections
. Ensuite, utilisez la classe 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())
Voici un exemple que vous pouvez suivre.
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())
Ici, on voit que la valeur de la clé 1
est remplacée par la valeur one
. Veuillez noter que la paire clé-valeur mise à jour a été conservée cette fois.
Production:
OrderedDict([('one', 'Jan'), (2, 'Feb'), (3, 'Mar')])
Utiliser la fonction Pandas.DataFrame
en Python
Vous pouvez utiliser Pandas pour modifier une clé dans un dictionnaire en Python. Tout d’abord, importez la bibliothèque pandas
.
Ensuite, utilisez l’utilitaire DataFrame
comme suit.
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])
Vérifiez cet exemple de programme.
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)
Ici, on voit que la valeur de la clé 1
est remplacée par la valeur 11
. Veuillez noter que la paire clé-valeur mise à jour a été conservée cette fois.
Production:
{1: 'Jan', 2: 'Feb', 3: 'Mar'}
{11: 'Jan', 2: 'Feb', 3: 'Mar'}
Article connexe - Python Dictionary
- Comment vérifier si une clé existe dans un dictionnaire en Python
- Convertir un dictionnaire en liste en Python
- Comment obtenir tous les fichiers d'un répertoire
- Comment trouver la valeur maximale dans le dictionnaire Python
- Comment trier un dictionnaire Python par valeur
- Comment fusionner deux dictionnaires en Python 2 et 3