【发布时间】:2019-02-06 00:55:14
【问题描述】:
我想更新我的字典。如果键已经存在于字典中,那么我想向该键添加新值(来自另一个字典)。如果字典中不存在该键,那么我想添加一个新键(来自另一个字典)。
换句话说,我只想要使用新添加(未覆盖)值(如果键同时存在于两个字典中)和新键(如果键存在于新字典中)的更新键
这是我目前拥有的词典的一个示例:
global_dict = {'abc': 123, 'def': 456}
new_dict={'def':789, 'ghi': hello}
我想要的是全局字典最终看起来像这样:
global_dict={'abc':123, 'def'=[456, 789], 'ghi'=hello}
这是我目前拥有的代码:
for key,val in new_dict.items():
if key in global_dict:
global_dict[key]=[global_dict[key],val]
else:
global_dict.update(new_dictionary)
这目前不起作用,我不确定我的解决方案有什么问题。有什么建议吗?
【问题讨论】:
-
当你说它不起作用时,你能更准确地说一下你的意思吗?实际发生了什么?
-
您有时只需要列表?这可能会以不必要的方式使事情复杂化。
-
@DavidZ,我没有看到来自 new_dict 的新唯一键。
-
@StephenRauch,我总是想要列表,但我只想要一个包含新值(如果两个字典中都存在键)和新键(如果新字典中存在键)的更新列表跨度>
-
但是你的例子并不总是有列表。
标签: python dictionary key