我有一个嵌套的dic,我需要循环它来检查ip = x和cmd = y然后采取行动xyz,我该怎么办?
d={'ip': {'cmd': 'cmd_out'}, 'ip1': {'cmd1': 'cmd_out1'}}
我能够得到以下内容:
for ip, cmd in d.items():
print ip,cmd
出: -
ip {'cmd': 'cmd_out'}
ip1 {'cmd1': 'cmd_out1'}
我想要的是下面但不起作用的东西:
for ip, cmd in d.items():
if ip =='ip' and cmd=='cmd':
print 'first IP' , ip ### take action
elif ip=='ip1' and cmd='cmd1':
print "second ip" , ip #####take action
我是python的新手,所以更简单更好:)
答案 0 :(得分:1)
在d
dict中, ip 是一个键,值为另一个dict
,其值为cmd
。为了匹配两者,你必须迭代它:
d={'ip': {'cmd': 'cmd_out'}, 'ip1': {'cmd1': 'cmd_out1'}}
x, y = 'ip', 'cmd_out' # Variable holding `ip` and `cmd`
for k, v in d.items():
if k == x and v['cmd'] == y:
print 'SUCCESS: We Found it'
注意:如果您不知道,dict
中的键是唯一的。