我有这个json文件
myjson=[{u'faceRectangle': {u'height': 72, u'left': 214, u'top': 125, u'width': 72}, u'scores': {u'anger': 0.180509463,
u'contempt': 1.50903434e-05, u'disgust': 0.008213697, u'fear': 0.418243885, u'happiness': 0.0259612668, u'neutral': 0.0001996803, u'sadness': 0.00102899456, u'surprise': 0.365827948}}]
我想从scores
打印具有最大概率的情绪,其概率紧挨着它。
有什么建议吗?
由于
答案 0 :(得分:1)
您可以使用内置max()
函数和key
来为字典中的每个项目选择概率值:
>>> myjson = [{'faceRectangle': {'left': 214, 'width': 72, 'top': 125, 'height': 72}, 'scores': {'surprise': 0.365827948, 'disgust': 0.008213697, 'sadness': 0.00102899456, 'contempt': 1.50903434e-05, 'happiness': 0.0259612668, 'anger': 0.180509463, 'neutral': 0.0001996803, 'fear': 0.418243885}}]
>>> max(myjson[0]['scores'].items(), key=lambda x: x[1])
('fear', 0.418243885)
myjson[0]
从列表中选择第一个字典,然后将max()
应用于嵌套的scores
字典。
您还可以使用operator.itemgetter()
作为关键功能:
from operator import itemgetter
max(myjson[0]['scores'].items(), key=itemgetter(1))