Teilen Sie die Werte von zwei Wörterbüchern in Python

8

Ich habe zwei Wörterbücher mit den gleichen Schlüsseln und ich möchte Division auf den Werten machen, um ein neues Wörterbuch zu aktualisieren oder zu erstellen, die Schlüssel intakt zu behalten, mit dem Quotienten als der neue Wert für jeden der Schlüssel.

%Vor%

Abgesehen von der Iteration durch den Schlüssel, Wertepaare und Erstellen geordneter Listen der Werte, dann Dividieren, bin ich nicht sicher, wie dies zu tun ist. Ich habe auf eine elegantere Lösung gehofft.

    
ktflghm 07.08.2012, 06:01
quelle

4 Antworten

13

Verwenden von viewkeys (python2.7):

%Vor%

Gleiches in Python 3 (wo wir den Aufruf float() zusammen löschen können):

%Vor%

Ja, ich benutze hier eine Schlüsselkreuzung; Wenn Sie absolut sicher sind, dass Ihre Schlüssel in beiden gleich sind, verwenden Sie einfach d2 :

%Vor%

Um vollständig zu sein, müssen Sie in Python 2.6 und vorher einen dict() -Konstruktor mit einem Generatorausdruck verwenden, um dasselbe zu erreichen:

%Vor%

erzeugt eine Folge von Schlüssel-Wert-Tupeln.

    
Martijn Pieters 07.08.2012 06:03
quelle
5

Dies funktioniert für alle Pythons, ich würde jedoch die Lösung von @MartijnPieters empfehlen, wenn Py 2.7 +

%Vor%     
jamylak 07.08.2012 06:04
quelle
4
%Vor%

Ausgabe:

%Vor%     
Ashwini Chaudhary 07.08.2012 06:05
quelle
1

in 3.2 verwenden Sie die .keys () Methode und die .get (key). Ссылка

    
AlexLordThorsen 07.08.2012 06:09
quelle

Tags und Links