Mehrere Dicts: Gucken ob alle bis auf einen Wert gleich?
Verfasst: Montag 12. Juli 2010, 17:24
Ich hab ein paar Dictionarys, die eine beliebige Anzahl an Eintraegen haben koennen.
Sie teilen sich jedoch alle Keys.
Mein Ziel ist es zu ermitteln ob zwei Dicts aus der Menge alle bis auf einen Wert gemeinsam haben.
Beispiel:
Der Unterschied von dict1 zu dict2 waere dann beim key 'y'.
Der Unterschied von dict1 zu dict3 waere aber dann zu gross (da zwei Werte unterschiedlich sind).
Bei zwei Dicts ginge ja folgendes:
Wie erweitere ich das am geschicktesten auf alle dicts?
Alle in eine Liste packen und dann auch darueber iterieren?
Sie teilen sich jedoch alle Keys.
Mein Ziel ist es zu ermitteln ob zwei Dicts aus der Menge alle bis auf einen Wert gemeinsam haben.
Beispiel:
Code: Alles auswählen
dict1 = {'y': Decimal('10'), 'x': Decimal('10'), 'z': Decimal('1')}
dict2 = {'y': Decimal('1'), 'x': Decimal('10'), 'z': Decimal('1')}
dict3 = {'y': Decimal('1'), 'x': Decimal('1'), 'z': Decimal('1')}
Der Unterschied von dict1 zu dict3 waere aber dann zu gross (da zwei Werte unterschiedlich sind).
Bei zwei Dicts ginge ja folgendes:
Code: Alles auswählen
ungleich = None
for key in dict1:
if not dict1[key] == dict2[key]:
if ungleich is None:
ungleich = key
else:
ungleich = None
break
Alle in eine Liste packen und dann auch darueber iterieren?