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

2024-04-26 10:23:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我想根据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}


Tags: 字典serverlocaldcd2d1s01子串
2条回答

我想这就是你需要的:

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'}

相关问题 更多 >