Reputation: 653
Two dictionaries are as:
dict1 = {'providers': 'aetna, united_health, cardinal'}
dict2 = {'aetna': ['13e2345', '13e2346'], 'bcbs': ['901E12'], 'united_health': []}
I need to compare two dictionaries and print data from dict2 if matches with data in dict1.
Expected output:
{'aetna': ['13e2345', '13e2346'], 'united_health': []}
Upvotes: 0
Views: 71
Reputation: 16593
You can use a simple dictionary comprehension:
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)
Output:
{'aetna': ['13e2345', '13e2346'], 'united_health': []}
Upvotes: 3
Reputation: 11665
dict1 = {'providers': 'aetna, united_health'}
dict2 = {'aetna': ['13e2345', '13e2346'], 'bcbs': ['901E12'], 'united_health': []}
result = {key: dict2.get(key, []) for key in dict1.get('providers').split(', ')}
{'aetna': ['13e2345', '13e2346'], 'united_health': []}
Upvotes: 0