Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在python中使用多个元素从dict中获取最大值_Python_Json_Dictionary_Max - Fatal编程技术网

如何在python中使用多个元素从dict中获取最大值

如何在python中使用多个元素从dict中获取最大值,python,json,dictionary,max,Python,Json,Dictionary,Max,我很难获得具有最大值的元素名称: 以下是Json示例: { 'id':'bbb', 'project':'8', 'iteration':'34', 'created':'2019-03-09T12:58:18.0331802Z', 'predictions':[ { 'probability':0.8849932, 'tagId':'a', 'tagName':'Dog'

我很难获得具有最大值的元素名称:

以下是Json示例:

    {  
   'id':'bbb',
   'project':'8',
   'iteration':'34',
   'created':'2019-03-09T12:58:18.0331802Z',
   'predictions':[  
      {  
         'probability':0.8849932,
         'tagId':'a',
         'tagName':'Dog'
      },
      {  
         'probability':0.11359062,
         'tagId':'b',
         'tagName':'Cat'
      },
      {  
         'probability':0.001416232,
         'tagId':'c',
         'tagName':'Bird'
      }
   ]
}
我想返回的结果是标记名“Dog”,因为0.8849932是最大概率值

有人吗


感谢您可以将
max
函数与返回
probability
键的值的键函数一起使用,然后通过键
标记名从
max
函数的返回值中获取值:

from operator import itemgetter
max(d['predictions'], key=itemgetter('probability'))['tagName']

我通常通过首先对对象列表进行排序,然后选择排序列表中的第一个元素来实现这一点。 在这种情况下,您将执行以下操作:

predictions = dict['predictions']
sorted_list = sorted( predictions, key = lambda i: i['probability'],reverse=True)
print ( sorted_list[0])

好好工作@blxing!谢谢好了,先生!感谢
sorted()
的最复杂度是
O(nlogn)
max()
的最复杂度是
O(n)
。最好使用与您使用的
键相同的
max
max(预测,key=lambda i:i['probability'])
yes!但对于问题中提到的小数据集来说,这并不重要。