list - 合并来自不同字典的值
问题描述
假设我有 2 个字典:
dict_a = {'01A': 'X', '02B': 'V', '03C': 'AE'}
dict_b = {'01A': 'V', '02B': 'D', '03C': 'X'}
它们本质上具有相同的键。我想要的是这样的:
dict_c = {'01A': ['X', 'V'], '02B': ['V', 'D'], '03C': ['AE', 'X']}
这样做的正确方法是什么?
解决方案
有很多方法可以实现这一目标,其中一种可以使用defaultdict
类似collections
这样的方法。
from collections import defaultdict
dict_a = {'01A': 'X', '02B': 'V', '03C': 'AE'}
dict_b = {'01A': 'V', '02B': 'D', '03C': 'X'}
d = defaultdict(list)
for d1, d2 in dict_a.items() + dict_b.items():
d[d1].append(d2)
print(dict(d))
推荐阅读
- python - 保存熊猫相关矩阵而不是显示它
- python - 通过解压缩压缩列表将列添加到 pandas DataFrame
- c# - EF Npgsql Core 未在插入时生成临时 ID
- r - Tidyverse:这个 tidyselect 接口还不支持谓词
- python - 在 N 维数组中查找最近的转换
- maven - 如何增加maven PermGen空间
- python - PyMC3(或 Theano)在采样时分配了过多的虚拟内存
- javascript - 清除输入文本失败
- android - 列表中包含 Jetpack 中项目的适合/包裹宽度的任何想法 compose
- css - Blazor 问题,关于基于属性的宽度百分比