我有一個嵌套在串列中的 dictionary,如下所示。我想創建一個新的字典,其鍵和值來自我的原始字典
。my_dict= {'mc' : [[{'id': '1.185662381',
'marketDefinition': {'bspMarket': False,
'turnInPlayEnabled': True,
'persistenceEnabled': True,
'marketBaseRate': 5.0,
'eventId': '30729399',
'eventTypeId': '1',
'numberOfWinners': 1,
'bettingType': 'ODDS'}}]。
[{'id': '1.185662380',
'marketDefinition': {'bspMarket': True,
'turnInPlayEnabled': False,
'persistenceEnabled': True,
'marketBaseRate': 5.0,
'eventId': '30729399',
'eventTypeId': '1',
'numberOfWinners': 1,
'bettingType': 'ODDS'}}]}。
我的預期輸出應該是這樣的
new_dict = {'id':['1.185662380',1.185662381] 。
bspMarket:[False,True]。
turnInPlayEnabled: [True,False].
.....}
這是我所嘗試的,但它在我這里沒有正確地作業。如果有任何幫助,我將不勝感激。
create_dict = {}。
for index, arr in enumerate(my_dict)。
for arr2 in arr:
create_dict['id'] = arr2['id] 。
create_dict['bspMarket'] = arr2['marketDefinition'] ['bspMarket]
create_dict['turnInPlayEnabled'] = arr2['marketDefinition']['iturnInPlayEnabled]
上面的回圈條件只創建了一個帶有串列中第一個元素的字典,也就是位置為0的元素
uj5u.com熱心網友回復:你每次通過你的回圈都會覆寫產生的字典元素,而不是制作串列并追加到它們。你可以使用defaultdict()來自動創建所需的串列。
from collections import defaultdict
new_dict = defaultdict(list)
for l in my_dict['mc'] 。
for d in l:
new_dict['id'].append(d['id'] )
for k, v in d['marketDefinition'].items() 。
new_dict[k].append(v)
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/308535.html
標籤:
下一篇:轉換圖元串列和串列為字典
