我有一个这样的数据结构:
[ {'SNAPSHOT': {'SnapshotVersion': '304'}},
{'SNAPSHOT': {'SnapshotCreationDate': '2015-06-21 17:33:41'}},
{'CafeData': {'CafeVersion': '2807'}},
{'CafeData': {'IsSoftwareOnly': '1'}},
{'CafeData'{'IsPassportTCPIP': '1'}}
]输出应该是这样的:
[ {'SNAPSHOT': {'SnapshotVersion': '304','SnapshotCreationDate': '2015-06-21 17:33:41'}},
{'CafeData': {'CafeVersion': '2807','IsSoftwareOnly': '1','IsPassportTCPIP': '1'}}
]
最佳答案
使用 https://docs.python.org/3/library/collections.html#collections.defaultdict每当遇到新键时,它都会在 defaultdict 中创建一个 dict。
import collections as co
dd = co.defaultdict(dict)
l = [ {'SNAPSHOT': {'SnapshotVersion': '304'}},
{'SNAPSHOT': {'SnapshotCreationDate': '2015-06-21 17:33:41'}},
{'CafeData': {'CafeVersion': '2807'}},
{'CafeData': {'IsSoftwareOnly': '1'}},
{'CafeData': {'IsPassportTCPIP': '1'}} ]
for i in l:
for k,v in i.items():
dd[k].update(v)
结果:In [8]: dd
Out[8]:
defaultdict(dict,
{'SNAPSHOT': {'SnapshotVersion': '304',
'SnapshotCreationDate': '2015-06-21 17:33:41'},
'CafeData': {'CafeVersion': '2807',
'IsSoftwareOnly': '1',
'IsPassportTCPIP': '1'}})
关于python - 如何合并具有相同键的字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67328076/