Unterschied in einem dict

Ich versuche, herauszufinden, den Unterschied in einem dict, ob etwas Hinzugefügt oder entfernt wurde und aus was.

Hier ist ein Fall, wo ein Wert Hinzugefügt:

original = {0: None, 1: False, 2: [16]}
new = {0: None, 1: False, 2: [2, 16]}

difference = True, {2: 2} # True = Added

Und hier ist ein Fall, in dem ein Wert gelöscht:

original = {0: None, 1: False, 2: [16, 64]}
new = {0: None, 1: False, 2: [64]}

difference = False, {2: 16} # False = Removed

Das problem ist, dass ich keine Ahnung habe, wie zu erhalten die Differenz. Sollte jemand zufällig wissen, wie ein solches Ergebnis zu erzielen?

Zusätzliche Informationen (keine Ahnung, ob Sie benötigen diese):

  • Diese anwenden können, um 0 und 1 original und neu, wie gut.
  • 1 und 2 nicht gleichzeitig aktiv sind. Wenn man Werte hat, die andere ist Falsch.
  • Warum nicht mal ein "wrapper" um dict und verwenden Sie es zu verfolgen, wenn die Dinge Hinzugefügt/entfernt? (Ich weiß nicht, wie schwer das wäre in python, aber es ist ziemlich einfach in c#).
  • Dein problem ist unter bestimmten. Was passiert, wenn ich entfernen Sie die 16 und add 2 in deinem ersten Beispiel? Unterschied müsste beides sein, Wahr und Falsch zur gleichen Zeit.
  • Nehmen wir an, dass wird nie passieren, phooji. 🙂
  • mögliche Duplikate von Schnellen Vergleich zwischen zwei Python dictionary
InformationsquelleAutor dbdii407 | 2011-07-09
Schreibe einen Kommentar