我想在Python2.6中将一个嵌套的字典列表合并到单个字典列表中, 示例数据-这里只给出了数千次迭代的两次迭代。在
INPUTJSON=[
{'EXCEPTIONS':
[
{'LASTOCCURED': '2018-03-12 12:11:23', 'COUNT': 25, 'NAME': 'CLFRW0134W'},
{'LASTOCCURED': '2018-03-12 12:11:42', 'COUNT': 10, 'NAME': 'SRV0145GH'}
],
'JVM_NAME': 'TestiingAWS01', 'GCCOUNT': 10},
{'EXCEPTIONS':
[
{'LASTOCCURED': '2018-03-13 12:14:23', 'COUNT': 25, 'NAME': 'CLFRW0134W'},
{'LASTOCCURED': '2018-03-18 12:55:23', 'COUNT': 10, 'NAME': 'SRV0145GH'}
],
'JVM_NAME': 'QAAWS02', 'GCCOUNT': 10}
]
预期结果:
^{pr2}$请专家帮助我实现这一点,以便我可以轻松地将最终数据处理到sqlite。在
更新:感谢各位专家及时提供解决方案,综合这里的所有答案,我在Python2.6上避免了硬代码“键”(因为每次迭代都有40个键),所以我有了一个数据的工作代码。在
def merge_two_dicts(x, y):
"""Given two dicts, merge them into a new dict as a shallow copy."""
z = x.copy()
z.update(y)
return z
resultlist =[]
for i,v in enumerate(INPUTJSON):
EXCEPTIONS = v["EXCEPTIONS"]
del v["EXCEPTIONS"]
for j,val in enumerate(EXCEPTIONS):
resultlist.append(merge_two_dicts(EXCEPTIONS[j],INPUTJSON[i]))
print resultlist
Can it be compiled in comprehension list using lambda?
你可以试试这个:
输出:
^{pr2}$但是,请注意,在Python3中,当使用解包时,这个问题更简单:
输出:
^{pr2}$有一种方法。在
有关
**
语法,请参见How to merge two dictionaries in a single expression?结果
^{pr2}$相关问题 更多 >
编程相关推荐