我正在尝试找到一种方法来比较两个字典之间的差异,比较相同的键和值。这就是单词和出现的次数。
假设我有两本字典:
Dict_1 = {' Chicago ': 3, ' Washington ': 5, ' LA ': 22, ' Boston ': 8, ' Seattle ': 0}
Dict_2 = {' Chicago ': 4, ' Washington ': 9, ' LA ': 26, ' Boston ': 12, ' Seattle ': 2}
所以我追求的是出现次数的差异,显示两个词典中的差异。
[3-4, 5-9, 22-26, 8-12, 0-2] or like this [-1, -4, -4, -4, -2]
然后我使用这些差异进行计算。我对使用词典不太有经验,因此非常感谢您的帮助。
我可能还必须考虑一本没有相同键的字典。例如
Dict_1 = {' Chicago ': 3, ' Washington ': 5, ' LA ': 22, ' Boston ': 8, ' Seattle ': 0, ' Detroit ': 3}
Dict_2 = {' Chicago ': 4, ' Washington ': 9, ' LA ': 26, ' Boston ': 12, ' Seattle ': 2}
字典 1 包含 Detroit,这是字典 2 没有的条目。我仍然想得到差异,即 3,因为 Dict 2 有 0 次出现 Detroit。
最佳答案
您可以使用字典理解来实现:
diffdict = {
key: Dict_1.get(key, 0) - Dict_2.get(key, 0)
for key in Dict_1.keys() | Dict_2.keys()
}
此处,我对两个词典的缺失键使用默认值 0,这意味着如果某个值在 Dict_1
中不可用,但在 Dict_2
中可用>,其值为 -Dict_2[key]
生成的 diffdict
将如下所示:
>>> diffdict
{' Boston ': -4, ' Washington ': -4, ' LA ': -4, ' Chicago ': -1, ' Seattle ': -2}
关于Python:获取两个字典之间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58545971/