【发布时间】:2020-05-19 18:35:12
【问题描述】:
我是 Python 的初学者,所以我需要一个简单的解释。
我有两本词典:
supply_dictionarie = {'Apple': 20, 'Cigar': 100, 'Milk': 210, 'Flower': 75}
goods_dictionarie = {'Milk': 210, 'Apple': 50, 'WhiteWine': 200, 'Beer': 300, 'Oranges': 400}
我正在尝试合并这两个字典,同时对重复键的值求和。我的意图是获得:
merged_dictionarie = {'Milk': 420, 'Cigar': 100, 'Apple': 70, 'WhiteWine': 200, 'Beer': 300, 'Oranges': 400, 'Flower': 75} *(not necessarily in this order)
我正在使用以下代码:
def merge_supply():
for k in supply_dictionarie:
if k in set(goods_dictionarie):
merged_dictionarie[k] = goods_dictionarie.get(k, 0) + supply_dictionarie.get(k, 0)
elif k not in set(goods_dictionarie):
merged_dictionarie[k] = supply_dictionarie.get(k, 0)
else:
break
for k in goods_dictionarie:
if k not in set(supply_dictionarie):
merged_dictionarie[k] = goods_dictionarie.get(k, 0)
else:
break
但我得到的只是:
merged_dictionarie = {'Apple': 70, 'Cigar': 100, 'Milk': 420, 'Flower': 75}
对我来说,这表明第二个“for/in”表达式没有成功执行工作。出了什么问题?
【问题讨论】:
标签: python dictionary merge