2014-04-10 71 views
0

我有词典:如何检查字典项目是否在列表中? PYTHON

data_portgroup = {"data_portgroup" : ["DataPortGroup1", "DataPortGroup2"]} 
mgmt_portgroup = {"mgmt_portgroup" : ["MgmtPortGroup1", "MgmtPortGroup2"]} 
trunk_portgroup = {"trunk_portgroup" : ["TrunkPortGroup1", "TrunkPortGroup2"]} 

而且我有一个列表:

portgroups = ["VM Network", 
"VMPortGroup1", 
"DataPortGroup1", 
"f7b64e53-cdb0-4bb6-b479-8c8aa6a5ab10", 
"TrunkPortGroup1", 
"dvSwitch-DVUplinks-232", 
"MgmtPortGroup1", 
"dvPortGroup", 
"dvSwitchOVSvApp-DVUplinks-69", 
"dvSwitchBootVMs-DVUplinks-61" 
] 

现在我想查词典值出现在列表中?

+0

你似乎有你提到的“字典”多个词典,我假设你想检查他们所有的? –

+0

你的问题不明确。什么是预期的输出? – thefourtheye

+0

是,对于每个data_portgroup“DataPortGroup1”存在于列表中或不存在。以同样的方式将检查下一个字典。 – Amby

回答

2

您可以使用列表理解(Python的方式来构建列表)像

found_in_data_portgroup = [pg for pg in portgroups if pg in data_portgroup["data_portgroup"]] 
found_in_mgmt_portgroup = [pg for pg in portgroups if pg in mgmt_portgroup["mgmt_portgroup"]] 
found_in_trunk_portgroup = [pg for pg in portgroups if pg in trunk_portgroup["trunk_portgroup"]] 

print found_in_data_portgroup 
print found_in_mgmt_portgroup 
print found_in_trunk_portgroup 

获得

['DataPortGroup1'] 
['MgmtPortGroup1'] 
['TrunkPortGroup1'] 
+0

非常好!我在写理解,但在几秒钟内得到了有效的答案。 – Amby

相关问题