需要python嵌套字典的帮助

时间:2017-01-02 10:16:56

标签: python python-2.7 dictionary

我有一个嵌套的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的新手,所以更简单更好:)

1 个答案:

答案 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中的是唯一的。