2 Dicts vergleichen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
thonix
User
Beiträge: 47
Registriert: Samstag 12. August 2006, 00:06

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
Benutzeravatar
veers
User
Beiträge: 1219
Registriert: Mittwoch 28. Februar 2007, 20:01
Wohnort: Zürich (CH)
Kontaktdaten:

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
[url=http://29a.ch/]My Website - 29a.ch[/url]
"If privacy is outlawed, only outlaws will have privacy." - Phil Zimmermann
thonix
User
Beiträge: 47
Registriert: Samstag 12. August 2006, 00:06

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
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

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``).
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
BlackJack

Doch aber da ist es noch in einem Modul: ``from sets import Set as set``
Antworten