我有7本词典,我想把它们一本和另一本合并起来:
这些词典都经过单独测试,似乎都遵循相同的结构:
results1()=
{
"NO4":
{
"type_tests":
{
"test1":1.0,
"test2":5.0,
"test3":14.0
}
},
"SO3":
{
"type_tests":
{"test1":1.0,
"test2":5.0,
"test3":14.0}
}
}
results2()=
{
"CO2":
{
"type_tests":
{
"test1":10.0,
"test2":51.0,
"test3":34.0
}
},
"H20":
{
"type_tests":
{"test1":1.0,
"test2":5.0,
"test3":14.0}
}
}
我试着把这篇文章后面的7本词典合并起来:
How to merge two dictionaries in a single expression?
我尝试的方法是将输出字典的函数合并为:
^{pr2}$但是,当我运行合并字典时,它会输出:
TypeError: 'str' object is not a mapping
我也看过这篇文章merging "several" python dictionaries,我试过:
dicts=[results1(),results2(),results3(),results4(),results5(),results6(),results7()]
for d in dicts:
for k, v in d.iteritems():
super_dict[k].add(v)
return superdict
然而,输出results7()
字典并保持思考(好像它应该输出其他东西,但没有输出)
使用这两个字典所需的输出将是合并的词典:
{
"NO4":
{
"type_tests":
{
"test1":1.0,
"test2":5.0,
"test3":14.0
}
},
"SO3":
{
"type_tests":
{
"test1":1.0,
"test2":5.0,
"test3":14.0
}
},
"CO2":
{
"type_tests":
{
"test1":10.0,
"test2":51.0,
"test3":34.0
}
},
"H20":
{
"type_tests":
{
"test1":1.0,
"test2":5.0,
"test3":14.0
}
}
}
我怎样才能得到一个合并了7个单独的字典的超级字典?在
输出相应字典的函数是
type
str
,因此我试图得到每个函数,并在Ignacio Vazquez Abrams的帮助下将它们转换成jsons
:在这样做之后,我使用了@gsi frank response,在
dicts
列表中插入format_results
。 最后我得到了合并后的词典。在简而言之,问题是字典的
type
,我把它们变成json
,然后能把它们合并在一起。在感谢每一位花时间阅读我的帖子和提供答案的人。在
我真的不知道我是否理解你的问题,但这可能是一个解决办法:
很高兴知道一个清晰、简短但完整的输入和输出示例。在
我想更具Python风格的unpacking解决方案并不适合您,因为您使用的是Python<;3.5。在
相关问题 更多 >
编程相关推荐