当前位置: 首页 > 面试题库 >

有什么Python方式可以合并两个字典(为同时出现在两个字典中的键添加值)?

钱钊
2023-03-14
问题内容

例如,我有两个字典:

Dict A: {'a': 1, 'b': 2, 'c': 3}
Dict B: {'b': 3, 'c': 4, 'd': 5}

我需要一种“结合”两个字典的pythonic方式,使得结果是:

{'a': 1, 'b': 5, 'c': 7, 'd': 5}

也就是说:如果一个键同时出现在两个字典中,则将其值相加;如果仅出现在一个字典中,则保留其值。


问题答案:

用途collections.Counter

>>> from collections import Counter
>>> A = Counter({'a':1, 'b':2, 'c':3})
>>> B = Counter({'b':3, 'c':4, 'd':5})
>>> A + B
Counter({'c': 7, 'b': 5, 'd': 5, 'a': 1})

计数器基本上是的子类dict,因此您仍然可以使用该类型对它们执行其他所有操作,例如遍历它们的键和值。



 类似资料:
  • 问题内容: 我有以下两个玩具字典 我想得到一个唯一的字典,在其中我将第二个字典值堆叠在第一个字典之后,并放在相同的方括号内。 我尝试了以下代码 但是我获得的输出在每个键的列表中有两个列表,即 而我想获得 如何使用一行或两行代码来实现? 问题答案: 您几乎拥有了它,而是使用了附加两个列表的方法:

  • 本文向大家介绍Python中实现两个字典(dict)合并的方法,包括了Python中实现两个字典(dict)合并的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Python中实现两个字典(dict)合并的方法,分享给大家供大家参考。具体方法如下: 现有两个字典dict如下: 合并两个字典得到类似: 方法1: 方法2: 方法2等同于: 或者: 方法2比方法1速度快很多,用timeit测

  • 本文向大家介绍将两个字典合并为一个的Python程序,包括了将两个字典合并为一个的Python程序的使用技巧和注意事项,需要的朋友参考一下 当需要将两个词典连接到一个实体中时,可以使用“更新”方法。 字典是“键值”对。 以下是相同的演示- 示例 输出结果 解释 定义了两个字典,它们显示在控制台上。  通过将第二个字典作为参数传递,在第一个字典上调用'update'方法。  这将有助于连接字典。 

  • 问题内容: 我有两个Python字典,我想编写一个返回这两个字典合并的单个表达式。该方法将是我需要的,如果它返回了结果而不是就地修改。 我怎样才能在最终的合并字典,不是? (更清楚地说,我正在寻找的最后一个胜出的冲突处理方法也是如此。) 问题答案: 对于字典和,变成了浅层合并的字典,带有替换的值。 在Python 3.5或更高版本中: 在Python 2(或3.4或更低版本)中,编写一个函数: 现

  • 问题内容: 我正在研究一个反向索引的搜索程序。索引本身是一个字典,其键是术语,其值本身是短文档的字典,ID号是键,其文本内容是值。 为了对两个词执行“与”搜索,因此我需要与他们的发布列表(字典)相交。在Python中有什么明确的方法(不一定太聪明)?我首先尝试了以下方法: 问题答案: 在Python中,您可以使用运算符来计算集合的交集,而字典键是类似于集合的对象(在Python 3中): 在Pyt

  • 问题内容: 这个问题已经在这里有了答案 : 如何在Python中将两个列表组合成字典?[重复] (6个答案) 5年前关闭。 Python中是否有将两个列表合并成字典的 内置 函数?喜欢: 哪里: 充当包含键的列表。 充当包含值的列表 有一个名为array_combine的函数可以实现此效果。 问题答案: 似乎这样应该可以,尽管我猜这不是 一个 单一的功能: 从这里开始:如何在Python中将两个列