python - 链接 python 字典来创建一个新字典

标签 python dictionary

我有两个 python 字典,例如,

d1 = {'k1':'v1', 'k2':'v2', 'k3':'v3'}
d2 = {'v1':'w1','v2':'w2','v5':'w5'}

我需要的是像这样的合并字典 -

mergeDict= {k1:(v1,w1), k2:(v2,w2), k3:(v3)}

无论我能够查找或阅读什么,都涉及附加字典,没有像这样的。我称此为链接,因为第一个字典的值可能是第二个字典中的键。

到目前为止,我已经通过典型的循环和 key() 查找来完成此操作。想知道是否有一种更Pythonic 的方法来实现这一点,而我在这里可能会丢失?

最佳答案

字典理解似乎有效:

out = {k: (v, d2[v]) if v in d2 else (v,) for k,v in d1.items()}

输出:

{'k1': ('v1', 'w1'), 'k2': ('v2', 'w2'), 'k3': ('v3',)}

关于python - 链接 python 字典来创建一个新字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70659310/

相关文章:

python - Flask-Cache 的文件系统缓存安全吗?

python - 神经网络生成不正确的结果,这些结果大约是输出的平均值

Python优化算法调整线越过尽可能多的点

python - 使用 python-docx 搜索和替换后丢失格式和图像

Python 字典 "plus-equal"行为

Python列表字典理解

python - pandas DataFrame 名为 True 和 False 的列工作得很好

c# - 防止在字典中重复查找相同元素

如果我引用 C++ map 元素,它不会被删除

python - 如何深入字典并删除最深的键级别