python中的词典比较
两本词典如下:python中的词典比较,python,python-3.x,dictionary,Python,Python 3.x,Dictionary,两本词典如下: dict1 = {'providers': 'aetna, united_health, cardinal'} dict2 = {'aetna': ['13e2345', '13e2346'], 'bcbs': ['901E12'], 'united_health': []} 我需要比较两个字典,如果与dict1中的数据匹配,则打印dict2中的数据 预期产出: {'aetna': ['13e2345', '13e2346'], 'united_health': []} {'
dict1 = {'providers': 'aetna, united_health, cardinal'}
dict2 = {'aetna': ['13e2345', '13e2346'], 'bcbs': ['901E12'], 'united_health': []}
我需要比较两个字典,如果与dict1中的数据匹配,则打印dict2中的数据
预期产出:
{'aetna': ['13e2345', '13e2346'], 'united_health': []}
{'aetna': ['13e2345', '13e2346'], 'united_health': []}
您可以使用简单的词典理解:
dict1 = {'providers': 'aetna, united_health'}
dict2 = {'aetna': ['13e2345', '13e2346'], 'bcbs': ['901E12'], 'united_health': []}
providers = set(dict1['providers'].split(', '))
new_dict2 = {k: v for k, v in dict2.items() if k in providers}
print(new_dict2)
输出:
您可以使用简单的词典理解:
dict1 = {'providers': 'aetna, united_health'}
dict2 = {'aetna': ['13e2345', '13e2346'], 'bcbs': ['901E12'], 'united_health': []}
providers = set(dict1['providers'].split(', '))
new_dict2 = {k: v for k, v in dict2.items() if k in providers}
print(new_dict2)
输出:
输出:
输出:
请帮助我们了解您试图实现的确切逻辑是什么,对于您的期望值,我认为您需要检查
如果val中有k
,而不是如果val中有k
,请帮助我们了解您试图实现的确切逻辑是什么,对于您的期望值,我认为您应该检查如果k in val
而不是如果k中的val
如果您将dict1更改为dict1={'providers':'aetna1,united_health2',},它会给出相同的输出,这是不应该的。如果您将dict1更改为dict1={'providers':'aetna1,united_health2},它会给出相同的输出,这是不应该的。
{'aetna': ['13e2345', '13e2346'], 'united_health': []}