Seite 1 von 1

Werte von zwei Dictionaries miteinander verrechnen

Verfasst: Freitag 8. Mai 2020, 15:27
von kjd
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

Re: Werte von zwei Dictionaries miteinander verrechnen

Verfasst: Freitag 8. Mai 2020, 15:44
von __blackjack__

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}

Re: Werte von zwei Dictionaries miteinander verrechnen

Verfasst: Freitag 8. Mai 2020, 17:00
von kjd
Vielen Dank!!

Re: Werte von zwei Dictionaries miteinander verrechnen

Verfasst: Montag 11. Mai 2020, 11:22
von DeaD_EyE
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.