Python: 获取两个字典之间的区别
Python: Getting the difference between two dictionaries
我正在尝试找到一种方法来比较相同的键和值来区分两个字典。那就是单词和出现次数。
假设我有两部词典:
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 有底特律,这是词典 2 没有的条目。我仍然想得到差异,这将是 3,因为 Dict 2 有 0 次底特律。
你可以使用字典理解:
diffdict = {
key: Dict_1.get(key, 0) - Dict_2.get(key, 0)
for key in Dict_1.keys() | Dict_2.keys()
}
我在这里为两个词典的缺失键使用默认值零,这意味着如果某个值在 Dict_1
中不可用,但它在 Dict_2
中,则它的值将是 -Dict_2[key]
结果 diffdict
将如下所示:
>>> diffdict
{' Boston ': -4, ' Washington ': -4, ' LA ': -4, ' Chicago ': -1, ' Seattle ': -2}
我正在尝试找到一种方法来比较相同的键和值来区分两个字典。那就是单词和出现次数。
假设我有两部词典:
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 有底特律,这是词典 2 没有的条目。我仍然想得到差异,这将是 3,因为 Dict 2 有 0 次底特律。
你可以使用字典理解:
diffdict = {
key: Dict_1.get(key, 0) - Dict_2.get(key, 0)
for key in Dict_1.keys() | Dict_2.keys()
}
我在这里为两个词典的缺失键使用默认值零,这意味着如果某个值在 Dict_1
中不可用,但它在 Dict_2
中,则它的值将是 -Dict_2[key]
结果 diffdict
将如下所示:
>>> diffdict
{' Boston ': -4, ' Washington ': -4, ' LA ': -4, ' Chicago ': -1, ' Seattle ': -2}