使用字典理解有条件地合并两个字典
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'}
我想根据 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'}