2010-10-21 13 views
3

(En Python 3)Renommer les clés de dictionnaire selon un autre dictionnaire

Je dictionnaire old. J'ai besoin de changer certaines de ses clés; les clés qui doivent être modifiées et les nouvelles clés correspondantes sont stockées dans un dictionnaire change. Quelle est une bonne façon de le faire? Notez qu'il peut y avoir un chevauchement entre old.keys() et change.values(), ce qui nécessite que j'applique soigneusement le changement.

Le code suivant (je pense) travailler mais j'espérais quelque chose de plus concis et encore Pythonic:

new = {} 
for k, v in old.items(): 
    if k in change: 
    k = change[k] 
    new[k] = v 
old = new 
+0

J'ai ajouté le tag python puisque ce n'est pas tout à fait spécifique python3. Ma réponse fonctionne aussi en Python2.7 –

Répondre

9
old = {change.get(k,k):v for k,v in old.items()}