我有字典串列,我試圖在迭代后將每本字典分組到一個字典中。有沒有一種簡單的方法可以做到這一點。到目前為止,我在每次迭代后獲取每個字典并將它們附加到串列中。迭代后,我得到如下輸出:
data = [{'disabled': False, 'id': '28394', 'self': 'www.google.com/28394', 'value': 'Tuesday'}, {'disabled': False, 'id': '23433', 'self': 'www.google.com/23433', 'value': 'Wednsday'}]
我想要么將它從串列轉換為單個字典,要么以某種方式將每個字典合并成一個如下所示的字典。
data = {'disabled': False, 'id': '28394', 'self': 'www.google.com/28394', 'value': 'Tuesday', 'disabled': False, 'id': '23433', 'self': 'www.google.com/23433', 'value': 'Wednsday'}
一旦我知道了,我想使用 dict() 方法添加字典,該方法創建空字典來存盤這些值。
下面是我的代碼:
elif(key == 'customfield_12951'):
newDictionaryValues = []
for issueItemInspection in oIssues['customfield']:
if(oIssues[key] == None):
values = {'value': None}
verificationDictNone = dict(values)
iterateDictIssues(verificationDictNone, listInner)
else:
if(len(oIssues[key]) == 1):
values = issueItemInspection
verificationDict = dict(values)
iterateDictIssues(verificationDict, listInner)
else:
values = issueItemInspection
newDictionaryValues.append(values)
print(newDictionaryValues)
verificationDictValues = dict(values)
iterateDictIssues(verificationDictValues, listInner)
每個字典都有多個鍵,您可以看到 issueItemInspection 帶有每個單獨的字典。隨著每個鍵字典的附加,我想將它們全部合并為一個或將其從串列轉換為單個字典。現在它是一個很大的字典串列。
uj5u.com熱心網友回復:
我不完全理解您的觀點,但是如何將具有相同鍵的值存盤到串列中?
from collections import defaultdict
data = [{'disabled': False, 'id': '28394', 'self': 'www.google.com/28394', 'value': 'Tuesday'}, {'disabled': False, 'id': '23433', 'self': 'www.google.com/23433', 'value': 'Wednsday'}]
d = defaultdict(list)
for dictionary in data:
for k, v in dictionary.items():
d[k].append(v)
print(d)
uj5u.com熱心網友回復:
由于您的字典有多個鍵定義,因此您無法獲取請求的資料,它只會保留最后一個鍵值:
>>> dict_test = {'test': 1, 'test': 2}
>>> print(dict_test )
{'test': 2}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/410022.html
標籤:
上一篇:聚合字典串列的有效方法
下一篇:在鍵上的字典串列中合并值
