-1
votes

Comment remplacer dynamiquement les touches d'un dictionnaire dans Python?

J'essaie de remplacer l'élément avec objet pour les touches d'un dictionnaire Python. Je me demandais si vous seriez requis. Ou si je peux utiliser la fonction remplacer? Comment j'irais faire cela?

Qu'est-ce que j'ai: xxx

ce que je veux: xxx


0 commentaires

3 Réponses :


1
votes
mydictionary = {
    key.replace("item", "object"): value for key, value in mydictionary.items()
}
The syntax uses dictionary comprehension to create a new dictionary based on the old dictionary but with a modification in old dictionary keys. Also re module could be used instead of the string replace method but since there is no regular expression/pattern involved re module will only complicate the code.

0 commentaires

1
votes

Vous ne pouvez pas changer les clés d'un dictionnaire, vous devrez donc créer un nouveau dictionnaire. La manière la plus concise de le faire est probablement des complètes. D'abord, nous devons remplacer chaque chaîne "élément" avec "objet" dans nos anciennes clés, puis créer un nouveau dictionnaire avec les mêmes valeurs. Cela devrait le faire:

{'object_1': [7, 19], 'object_2': [0, 3], 'object_3': [54, 191], 'object_4': [41, 43]}


0 commentaires

0
votes

Vous ne pouvez pas changer une clé dans un dictionnaire. Le seul moyen de remplacer est de créer un nouveau dictionnaire ou, d'ajouter une nouvelle clé et de supprimer l'ancienne clé.

Le code ci-dessous utilise la compréhension du dictionnaire pour créer un dictionnaire. P>

{'object_1': [7, 19], 'object_2': [0, 3], 'object_3': [54, 191], 'object_4': [41, 43]}


1 commentaires

Cela ne fonctionnera que si l'OP utilise Python 3.7 ou plus récent, et si l'ordre d'insertion des articles est en montant. Insérer item_2 avant item_1 et cela produira les mauvais résultats.