Python如何获取嵌套字典中的最大值及其对应的键
实现方案
你可以利用Python max() 函数的 key 参数指定比较规则,直接从子字典的键值对中筛选出值最大的条目,修改后的代码如下:
for i in range(len(res_dic)): # 按子字典的value大小比较,返回最大值对应的(键, 值)元组 max_key, max_value = max(res_dic[i].items(), key=lambda item: item[1]) print(f"{max_key}, {max_value}")
运行后会完全匹配你期望的输出格式,遍历到索引为0的子字典时,输出内容为:
No, 0.0008701660440099657
如果需要一次性生成所有结果存储使用,可以用字典推导式实现:
# 生成结构为 {外层索引: (最大值对应的键, 最大值)} 的字典 max_result = {outer_key: max(sub_dict.items(), key=lambda x:x[1]) for outer_key, sub_dict in res_dic.items()}
如果同一个子字典内存在多个相同的最大值,以上方法会返回第一个出现的最大值对应的键。
内容的提问来源于stack exchange,提问作者SergioPD08
相关产品推荐
相关产品推荐

