Werte von zwei Dictionaries miteinander verrechnen

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
kjd
User
Beiträge: 12
Registriert: Freitag 12. Juli 2019, 09:48

Hallo,

ich habe mir aus einer CSV Datei zwei Dictionaries rausgeben lassen. Beide Dictionaries haben die selben Keys. Ich würde jetzt gerne die Values mit den jeweils selben Keys miteinander verrechnen (in meinem konkreten Fall dividieren) und in einem neuen Dictionary mit den selben Keys wieder ausgeben lassen.

Beispiel

Code: Alles auswählen

 dictA = {'a': 8, 'b': 3, 'c':6}
 dictB = {'a': 4, 'b': 3, 'c':2}
 
 #dictC = dictA/dictB
 dictC = {'a': 2, 'b': 1, 'c': 3} 
Wie kann ich das am praktischsten machen?

Danke im Voraus
Benutzeravatar
__blackjack__
User
Beiträge: 14052
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

Code: Alles auswählen

In [162]: A = {'a': 8, 'b': 3, 'c':6}                                           

In [163]: B = {'a': 4, 'b': 3, 'c':2}                                           

In [164]: {key: A[key] // B[key] for key in A}                                  
Out[164]: {'a': 2, 'b': 1, 'c': 3}
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
kjd
User
Beiträge: 12
Registriert: Freitag 12. Juli 2019, 09:48

Vielen Dank!!
Benutzeravatar
DeaD_EyE
User
Beiträge: 1240
Registriert: Sonntag 19. September 2010, 13:45
Wohnort: Hagen
Kontaktdaten:

Falls du keys im dict hast, die im anderen nicht vorkommen:

Code: Alles auswählen

dictA = {'a': 8, 'b': 3, 'c':6}
dictB = {'a': 4, 'b': 3, 'c':2}

result = {dictA[key] // dictB[key] for key in dictA.keys() & dictB.keys()}
Die keys eines dicts sind quasi ein set (Menge).

Du kannst z.B. so einfach herausfinden, welches keys in beiden dicts vorkommen oder eine Menge die jeweils nur in einem der dicts vorkommt.
sourceserver.info - sourceserver.info/wiki/ - ausgestorbener Support für HL2-Server
Antworten