2016-05-31 40 views
0

我目前我的OrderedDict像下面。multiple OrderedDict to python的字典

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

但在這裏,我需要將其轉換爲正常的字典格式,如下所示。

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

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

如何從python中做到這一點。

+0

這個問題似乎並不是http://stackoverflow.com/questions/20166749/how-to-convert-an-ordereddict-into-a-regular-dict-in-python3的重複,因爲問題中的數據結構不是OrderedDict,而是OrderedDicts的列表,所需的輸出也似乎是不同的ferent。 – fmarc

回答

0

您可以從每個OrderedDicts的初始化新dict的數據是這樣的:

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

另外,獲得與ID作爲鍵和名稱的字典作爲值:

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

@LutzHorn:正確。我希望更新的答案反映了 – fmarc

+0

@LutzHorn thank.But仍顯示爲列表字典我只想要字典。 – user1335606

+0

@ user1335606:啊,我明白了。一本字典只能包含一個鍵。所以你不能多次使用密鑰'id'。您在問題中給出的期望輸出也是一個列表/元組的字典。你能否更新你的問題以顯示字典應該如何顯示? – fmarc