Python-如何根据嵌套字典中的值返回字典键?

时间:2019-02-01 16:26:14

标签: python python-3.x dictionary iterator

我有一个Python词典字典。

我想要一种方法来检查字典的每个字典,检查每个字典中'val'键的值,然后返回初始字典键,其中'val'== 0。

dict = {
    1: {'x': 'a', 'val': 1},
    2: {'x': 'b', 'val': 1},
    3: {'x': 'c', 'val': 0},
    4: {'x': 'c', 'val': 0}
}

我尝试了以下操作,但是只返回3和4。

for itemid, iteminfo in data.items():
    for key in iteminfo:
        if iteminfo[key] == 0:
            print(str(itemid))

在上面的示例中,我希望返回3,因为这是'val'== 0的第一个实例。

1 个答案:

答案 0 :(得分:1)

如果只想将'val'的第一次出现与0配对(没有任何特定顺序,因为python中的字典没有排序),则可以在循环内使用条件语句使用break:

mydict = {
    1: {'x': 'a', 'val': 1},
    2: {'x': 'b', 'val': 1},
    3: {'x': 'c', 'val': 0},
    4: {'x': 'c', 'val': 0}
}

for key, value in mydict.items():
    if value['val'] == 0:
        print(key)
        break

如果顺序很重要,你可以用一个有序字典

相关问题