Wie konvertiert man ein Tupel in ein mehrfach verschachteltes Wörterbuch in Python?

8

Ich habe ein Tupel im folgenden Format:

%Vor%

Ich möchte in ein verschachteltes Wörterbuch wie folgt konvertieren:

%Vor%

Gibt es eine pythische Art, dies zu tun? Es scheint ziemlich einfach zu sein, aber ich kann das nicht herausfinden.

    
msakya 17.02.2014, 17:13
quelle

2 Antworten

9

Sie können das Tupel-Entpacken kombiniert mit collections.defaultdict verwenden, um Ihr Leben zu erleichtern .

Erstellen Sie einen äußeren defaultdict mit dict als Standardwert. Dann können Sie Ihre Tupel-Liste einfach einmal durchlaufen und dabei die Werte entsprechend anpassen.

%Vor%

Natürlich wissen Sie vermutlich mehr darüber, was diese Werte tatsächlich darstellen. Daher können Sie Ihrem Wörterbuch und den einzelnen Elementen bessere, aussagekräftigere Namen geben als a , b , c und d .

    
Henry Keiter 17.02.2014, 17:16
quelle
7

Sie können itertools.groupby verwenden, um die Tupel basierend auf dem ersten Element zu gruppieren und dann iterieren Sie über diese Gruppen in einem dict-Verständnis, um das gewünschte Ergebnis zu erhalten.

%Vor%

Wo data ist Ihre Liste von Tupeln oder Tupel von Tupeln.

    
Ashwini Chaudhary 17.02.2014 17:16
quelle