Seite 1 von 1

2 Dicts vergleichen

Verfasst: Montag 31. Dezember 2007, 00:25
von thonix
Hallo zusammen,

Bevor ich code produziere wollte ich nachfragen ob es eine Funktion gibt, die es mit erlaub 2 dicts miteinander zu vergleichen und mit die Unterschiede herausgibt?

z.B.

Code: Alles auswählen

dict1 = { 
    "a":"1",
    "b":"2",
    "c":"3",
    "d":"4"
}

dict2 = { 
    "a":"1",
    "b":"3",
    "c":"2",
    "d":"4"
}

Vielen Dank schon mal
Thonix

Verfasst: Montag 31. Dezember 2007, 00:47
von veers
Was für ein Ergebnis würdest du denn erwarten?

Code: Alles auswählen

In [11]: set(dict1.items()).difference(set(dict2.items()))
Out[11]: set([('b', '2'), ('c', '3')]
oder einfach

Code: Alles auswählen

In [12]: dict1 == dict2
Out[12]: False

Verfasst: Montag 31. Dezember 2007, 12:49
von thonix
Vielen Dank für die Antwort.

Das wäre was ich meine ...

Code: Alles auswählen

In [11]: set(dict1.items()).difference(set(dict2.items()))
Out[11]: set([('b', '2'), ('c', '3')]
Aber bei Python 2.3 gibt es wohl kein set ?

Thonix

Verfasst: Montag 31. Dezember 2007, 12:51
von Leonidas
thonix hat geschrieben:Aber bei Python 2.3 gibt es wohl kein set ?
Doch, nur nicht Built-in. Du musst sie aus dem ``sets``-Modul importieren (``from sets import Set as set``).

Verfasst: Montag 31. Dezember 2007, 12:52
von BlackJack
Doch aber da ist es noch in einem Modul: ``from sets import Set as set``