我已经合并了两个字典,但是我希望如果字典中的键已经存在,那么键的值不会改变
现在,在我的代码中,键的值发生了变化
我用了这个密码
a={'saya': 2,'menolak': 2,'omnibus': 3,'law': 3,'dan': 1,'tetap': 1,'di': 1,'sekolah': 1,'diperintahkan': 1,'untuk': 1,'tidak': 1,'layak': 1}
b={'omnibus': 0,'law': 0,'meningkatkan': 0,'kesejahteraan': 0,'saya': 0,'setuju': 0,'diterapkan': 0}
def add_dict(a,b):
a.update(b)
return a
add_dict(a,b)
结果是:
{'saya': 0,
'menolak': 2,
'omnibus': 0,
'law': 0,
'dan': 1,
'tetap': 1,
'di': 1,
'sekolah': 1,
'diperintahkan': 1,
'untuk': 1,
'tidak': 1,
'layak': 1,
'meningkatkan': 0,
'kesejahteraan': 0,
'setuju': 0,
'diterapkan': 0}
我想要这样的结果:
{'saya': 2,
'menolak': 2,
'omnibus': 3,
'law': 3,
'dan': 1,
'tetap': 1,
'di': 1,
'sekolah': 1,
'diperintahkan': 1,
'untuk': 1,
'tidak': 1,
'layak': 1,
'meningkatkan': 0,
'kesejahteraan': 0,
'setuju': 0,
'diterapkan': 0}
在将值添加到
a
之前,可以执行循环并检查b
中的每个键编辑:如果希望保留来自
b
而不是a
的某些值,即使键已经在a
中,也可以使用键列表向add_dict
添加第三个参数。然后在循环中,检查键是否在此列表中,如果是,则使用来自b
的值而不是a
的值这导致(为了清晰起见,我添加了一个NumPy样式的docstring)
现在如果你做
add_dict(b, a, force_add=["saya"])
,你会得到您可以使用setdefault,它仅在密钥不存在时更新:
相关问题 更多 >
编程相关推荐