python - 使用相同的键将两本词典合二为一?

标签 python dictionary

我已经查看了这里的一些问题,但似乎没有一个完全是我的问题。假设我有 2 部词典,它们是 dict1

{'A': 25 , 'B': 41, 'C': 32}

和听写 2

{'A':21, 'B': 12, 'C':62}

我正在编写一个程序,我需要将这些组合成一个字典 finaldict

{'A': [25 , 21], 'B': [41, 12], 'C': [32, 62]}

非常感谢任何帮助,我一直在努力解决这个问题,但现在一无所获

最佳答案

这是一个通用版本。这可用于创建一个字典,其中的值作为一个列表,即使键只存在于其中一个列表中。

dic1 = {'A': 25, 'B': 41, 'C': 32}
dic2 = {'A': 21, 'B': 12, 'C': 62}
result = {}
for key in (dic1.keys() | dic2.keys()):
    if key in dic1: result.setdefault(key, []).append(dic1[key])
    if key in dic2: result.setdefault(key, []).append(dic2[key])

print(result)

输出

{'A': [25, 21], 'C': [32, 62], 'B': [41, 12]}

如果您使用的是 Python 2,则必须像这样更改 for 循环:

for key in (dic1.viewkeys() | dic2.keys()):

关于python - 使用相同的键将两本词典合二为一?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20072870/

相关文章:

python - 我如何仅选择/格式化字典中的值到列表或 numpy 数组中?

python - Selenium Python - 处理没有这样的元素异常

python - 检查变量是否在python中定义的简单方法?

python - 使用 PyQtGraph,我的曲面图显示在窗口的左下角。

c++ - C++ 中不同类的方法映射

java - 字符出现频率

python - 具有灰色世界假设的自动白平衡

python - 计算第一个 1000 位的斐波那契数(欧拉计划 #25)

java - mybatis中的hashmap结果图

swift - Swift 4+ 在字典中存储一组各种类型的同质数组的最佳方法是什么?