注册 登录
编程论坛 Python论坛

小白一枚,求助python3

hako 发布于 2019-08-05 13:56, 2344 次点击
我有一个字典,具体如下
{"message":"Success","result":[{"message":"Success","prediction":[{"label":"mark","probability":0.98014337},{"label":"jack","probability":0.019856641}],"file":"d.jpg"}]}

我想根据以上这个字典,判断“probability”大于0.9,所对应的“label”的指,上面这个例子结果应该返回“mark”

试了很多办法,一直不成功,,请各位前辈指教指教,多谢多谢
5 回复
#2
wp2319572019-08-05 15:23
回复 楼主 hako
>>> s={"message":"Success","result":[{"message":"Success","prediction":[{"label":"mark","probability":0.98014337},{"label":"jack","probability":0.019856641}],"file":"d.jpg"}]}
>>> for x in  s["result"][0]["prediction"]:
...   if x["probability"]>0.9:
...     print(x["label"])
...
mark
>>>
#3
hako2019-08-05 16:53
回复 2楼 wp231957
感谢大神,我等会赶紧赶紧试试,跪谢大恩
#4
hako2019-08-06 02:48
大神大神,谢谢很好建议,
谢谢各位前辈,按招指示已成功获取所需数据,很不幸,又出现了新问题
详情如下

d = json.loads(response.text)

for x in d["result"][0]["prediction"]:
    if x["probability"]>0.8:
        print(x["label"])
w = x["label"]
fi = "/var/lib/motion/" + w + ".wav"
print(fi)

执行后返回结果
mark
/var/lib/motion/jack.wav

为什么没有返回mark.wav,,
谢谢大家的帮忙

#5
wp2319572019-08-06 10:37
回复 4楼 hako
>>> s={"message":"Success","result":[{"message":"Success","prediction":[{"label":"mark","probability":0.98014337},{"label":"jack","probability":0.019856641}],"file":"d.jpg"}]}
>>> for x in  s["result"][0]["prediction"]:
...    if x["probability"]>0.9:
...       w = x["label"]
...       break
...
>>> fi = "/var/lib/motion/" + w + ".wav"
>>> fi
'/var/lib/motion/mark.wav'
>>>


#6
hako2019-08-06 12:41
感谢版主。威武。。。。。
1