如何从字典列表中获取对应最高score的label与score变量
解决方案
你可以通过max()函数结合lambda表达式快速找到score最高的预测项,再从中提取对应的label和score值,具体代码如下:
# API返回的结果列表 predictions = [ {'label': 'LABEL_0', 'score': 0.85}, {'label': 'LABEL_1', 'score': 0.1}, {'label': 'LABEL_2', 'score': 0.1} ] # 找到score最高的字典项 best_pred = max(predictions, key=lambda x: x['score']) # 提取对应值到变量 label_val = best_pred['label'] score_val = best_pred['score'] # 验证结果 print(label_val) # 输出: LABEL_0 print(score_val) # 输出: 0.85
说明
max()函数的key参数用来指定比较规则,这里用lambda x: x['score']表示以每个字典的score值作为比较依据,直接筛选出score最大的项。- 不需要用列表解包,因为我们要的是列表中单个最优元素,解包是用来拆分列表所有元素的,不符合当前需求。
内容的提问来源于stack exchange,提问作者user3234242
相关产品推荐
相关产品推荐

