从字典中检索某个值

时间:2019-04-15 01:21:05

标签: python-3.x

我想基于同一词典中的另一个值从词典中检索某个值。 这是我的代码 逻辑是如果b == 5,那么我想在相同级别的字典中检索“ a”的值,应该为4。

dic = {'main':
           {'second_level':{
               'third_level_1':{
                'fourth_level_1':{'a':1, 'b':2, 'c':3},
                'fourth_level_2':{'a':4, 'b':5, 'c':6}
                 },
               'third_level_2':{
                'fourth_level_1':{'a':7, 'b':8, 'c':9},
                'fourth_level_2':{'a':14, 'b':15, 'c':16}
                 }
                }
           }
}

for key,value in dic['main']['second_level']['third_level_1']['fourth_level_2'].items():
    if value == 5:
        print(value of a?)

1 个答案:

答案 0 :(得分:1)

for p_id, p_info in dic['main']['second_level']['third_level_1'].items():
    for key in p_info:
        if key=='b' and p_info[key]==5:
            print(p_info['a'])

在您的代码中,迭代是在four_level_2上执行的,因此不可能访问four_level_2 ['a']。我正在third_level_1上执行迭代,因此可以访问fourth_level_2 ['a'],它给出4作为答案。