我有一个名为summary
的主字典。
summary = {}
我还有另一个字典"temp",它是在循环的每次迭代中使用不同的键值对生成的。
例如:在循环的第一次迭代中,
temp = {'a': 10, 'b': 50}
在循环第二次迭代中,
temp = {'a': 40, 'b': 20, 'c'=100}
我希望主字典summary
在每次迭代后用temp
的元素更新。如果summary
中尚未存在键,则应将temp
中的键值对输入其中。如果"summary"中已存在键,则需要将值添加到"summary"中该键的现有值中。
所以在两次迭代之后我想要的结果是,
summary = {'a': 50, 'b': 70, 'c'=100}
我尝试使用更新功能,但它不工作
1条答案
按热度按时间eivgtgni1#
在这里使用
dict.update
不会得到你想要的结果,因为它完全覆盖了字典中的值,你需要做的是在每次循环迭代结束时把值添加到summary
中现有的键值对中。我将使用
defaultdict
作为summary
,这样您就可以轻松地从创建的每个temp
dict添加到它,而不必显式地将键初始化为0
。在每次迭代结束时,从每个temp
dict中获取条目,并将它们一次一个地添加到摘要中。示例:
输出:
使用
Counter
也可以获得类似的结果,它支持跟踪键的计数。使用|
操作符,可以直接从temp
指令追加