使用字典理解有条件地合并两个字典

Merge two dictionaries conditionally using dict comprehension

我想根据 d1 的值和 d2 的键的子字符串连接两个字典。生成的字典具有 d1 的键和 d2 的对应值。

d1 = {'web02': '23', 'web01': '50'}
d2 = {'server/dc-50': 's01.local', 'server/dc-23': 's02.local'}

将导致 = {web01:s01.local, web02:s02.local}

我想这就是你需要的:

result = {k1:v2 for k1,v1 in d1.items() for k2,v2 in d2.items() if v1 in k2}

输出 :

{'web02': 's02.local', 'web01': 's01.local'}

这是在没有嵌套循环的情况下通过使用字符串格式获取值来完成的:

data = {k: d2['server/dc-' + v] for k, v in d1.items()}

打印:

{'web02': 's02.local', 'web01': 's01.local'}