python - 连接python字典中的值
问题描述
我想在不覆盖的情况下更新 python dict。
它会是这样的:
d1 = {id1 : val1, id2 : val2}
d2 = {id1 : val3, id3 : val4}
d1 + d2 = {id1 : [val1, val3], id2 : [val2], id3 : [val4]}
你有什么想法 ?
解决方案
听起来您需要一个为每个键创建新列表并在必要时附加到它们的函数。
d1 = {'id1' : 'val1', 'id2' : 'val2'}
d2 = {'id1' : 'val3', 'id3' : 'val4'}
def concatDicts(d1,d2):
dsum = {}
for key in d1:
if key not in dsum:
dsum[key] = [d1[key]]
for key in d2:
if key not in dsum:
dsum[key] = []
dsum[key].append(d2[key])
return dsum
d3 = concatDicts(d1,d2)
print(d3)
# d3 = {id1 : [val1, val3], id2 : [val2], id3 : [val4]}
推荐阅读
- python - 在上下文管理器函数中使用 Python 记录器
- python - 在 Pandas 中,如何使用数字位置查找列名和行名?
- ethereum - 如何使用 python 为以太坊节点发现构建 ping 消息?
- mysql - 如何将结果网格放置在右上角,即mysql工作台中sql添加的位置?
- cmd - 为什么 IF 不能正确分支?
- python - “无法获取属性‘ImageList’”使用 FastAI 和 PyTorch
- gradle - 如何包含来自另一个 gradle.properties 文件的变量?
- c# - 在 .net 核心中注册未绑定的泛型时无法获得服务
- javascript - Google Webapp:如何将数组值动态传递给 jquery 脚本
- c - 升级到 macOS Mojave 后,MATLAB 不再卸载 MEX 文件