我有两本字典:
a=
{
"2001935072": {
"WR": "48.9",
"nickname": "rogs30541",
"team": 2
},
....
}
以及
b=
^{pr2}$我试图将它们与a.update(b)和a={**a,**b}合并,但当我打印(a)时,两者都会给出以下输出:
^{pr2}$基本上是a=b,如何合并a和b,所以输出是
{
"2001935072": {
"WR": "48.9",
"nickname": "rogs30541",
"team": 2
"wtr": 816
},
....
}
试试看这个:-
你可以尝试列表+听写理解来达到你的效果:
这将输出:
^{pr2}$最终达到您期望的输出
我将计算键的并集,然后用一个helper方法将内部字典合并在一起重新构建字典(因为dict合并在3.6+内联中是可能的,但在此之前是不可能的)(How to merge two dictionaries in a single expression?)
结果:
^{pr2}$注意事项:
a.get(k,{})
允许获取k
的值,默认值为so merge仍然有效,只保留b
dict中的值merge_two_dicts
只是一个助手函数。不能直接与a
和b
dicts一起使用,否则会产生错误的结果,因为最后合并的一个“wins”并覆盖其他dict值使用Python 3.6+:您可以在不使用任何helper函数的情况下执行此操作:
相关问题 更多 >
编程相关推荐