Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python中的词典比较_Python_Python 3.x_Dictionary - Fatal编程技术网

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': []}