我有一个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的第一个实例。
答案 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
如果顺序很重要,你可以用一个有序字典
去