Python:从json文件获取max

时间:2016-09-26 23:31:28

标签: python json

我有这个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打印具有最大概率的情绪,其概率紧挨着它。

有什么建议吗?

由于

1 个答案:

答案 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))