2016-05-31 15 views
0

Ich bin derzeit meine OrderedDict wie unten.mehrere OrderedDict zum Wörterbuch von Python

d = [OrderedDict([('id', u'570c737e87f8dc15788790b7'), ('name', u'Murgh ')]), OrderedDict([('id', u'570c737e87f8dc15788790b6'), ('name', u'Mushroom')])] 

Aber hier muss ich dies in das normale Wörterbuchformat wie unten konvertieren.

{"id": "570c737e87f8dc15788790b7","name": "Murgh" 
    }, 

{ 
"id": "570c737e87f8dc15788790b6","name": "Mushroom" 
    } 

Wie dies von Python zu tun.

+0

Diese Frage scheint nicht wirklich ein Duplikat von http://stackoverflow.com/questions/20166749/how-to-convert-an-ordereddict-into-a-regular-dict-in-python3, da die Datenstruktur in der Frage ist kein OrderedDict, sondern eine Liste von OrderedDicts, und auch die gewünschte Ausgabe scheint diffus zu sein anders. – fmarc

Antwort

0

Sie einen neuen dict mit Daten von jedem Ihrer OrderedDicts wie folgt initialisieren: Alternativ

dicts = [dict(_) for _ in d] 

, ein dict mit ids als Schlüssel und Namen als Werte zu erhalten:

users = { od['id']:od['name'] for od in d } 
+1

@LutzHorn: Richtig. Ich hoffe, dass die aktualisierte Antwort das – fmarc

+0

@LutzHorn thank.But noch seine Anzeige als Liste dict ich will nur dict. – user1335606

+0

@ user1335606: Ah, ich verstehe es. Ein Wörterbuch kann jeden Schlüssel nur einmal enthalten. Sie können den Schlüssel also nicht mehrmals "id" haben. Die gewünschte Ausgabe, die Sie in Ihrer Frage angegeben haben, ist auch eine Liste/ein Tupel von Diktaten. Können Sie Ihre Frage aktualisieren, um zu zeigen, wie das Diktat aussehen sollte? – fmarc