首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python:了解两个字典之间的区别

Python:了解两个字典之间的区别
EN

Stack Overflow用户
提问于 2019-10-24 16:58:55
回答 1查看 209关注 0票数 1

我试图找到一种方法来获得两个字典之间的区别,比较相同的键和值。这就是单词和事件。

假设我有两本字典:

代码语言:javascript
复制
Dict_1 = {' Chicago ': 3, ' Washington ': 5, ' LA ': 22, ' Boston ': 8, ' Seattle ': 0}
Dict_2 = {' Chicago ': 4, ' Washington ': 9, ' LA ': 26, ' Boston ': 12, ' Seattle ': 2}

所以,我所追求的是事件的不同,显示了两本词典的不同。

代码语言:javascript
复制
[3-4, 5-9, 22-26, 8-12, 0-2] or like this [-1, -4, -4, -4, -2]

然后,我利用这些差异进行计算。我在使用字典方面不是很有经验,所以任何帮助都是非常感谢的。

我也可能不得不解释一本字典没有相同的键。例如:

代码语言:javascript
复制
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,因为迪克特2有0的底特律。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-24 17:01:35

你可以用字典来理解这一点:

代码语言:javascript
复制
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如下所示:

代码语言:javascript
复制
>>> diffdict
{' Boston ': -4, ' Washington ': -4, ' LA ': -4, ' Chicago ': -1, ' Seattle ': -2}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58545971

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档