我有两个 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/