55 votes

Comparaison rapide entre deux dictionnaires Python

Supposons que j'ai deux dictionnaires Python - dictA y dictB . J'ai besoin de savoir s'il y a des clés qui sont présentes dans dictB mais pas dans dictA . Quel est le moyen le plus rapide d'y parvenir ?

Dois-je convertir les clés du dictionnaire en un ensemble et procéder ensuite ?

J'aimerais savoir ce que vous en pensez...


Merci pour vos réponses.

Je m'excuse de ne pas avoir formulé ma question correctement. Mon scénario est le suivant : j'ai un dictA qui peut être la même chose que dictB ou peut avoir quelques clés manquantes par rapport à dictB ou bien la valeur de certaines clés pourrait être différente, ce qui doit être mis à celle de dictA la valeur de la clé.

Le problème est que le dictionnaire n'a pas de norme et qu'il peut avoir des valeurs qui peuvent être le dict du dict.

Dites

dictA={'key1':a, 'key2':b, 'key3':{'key11':cc, 'key12':dd}, 'key4':{'key111':{....}}}
dictB={'key1':a, 'key2:':newb, 'key3':{'key11':cc, 'key12':newdd, 'key13':ee}.......

Ainsi, la valeur de 'key2' doit être réinitialisée à la nouvelle valeur et 'key13' doit être ajoutée dans le dict. La valeur de la clé n'a pas un format fixe. Il peut s'agir d'une simple valeur ou d'un dict ou d'un dict de dict.

-1voto

Je ne sais pas si c'est toujours d'actualité mais je suis tombé sur ce problème, dans ma situation, j'avais juste besoin de retourner un dictionnaire des changements pour tous les dictionnaires imbriqués, etc. etc. Je n'ai pas pu trouver de bonne solution mais j'ai fini par écrire une fonction simple pour faire cela . J'espère que cela vous aidera,

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X