You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取嵌套字典最大值的键?解决'str'无items属性报错

问题分析与解决

报错原因

报错'str' object has no attribute 'items'的核心问题:代码中的fruits变量不是预期的字典类型,而是字符串。通常是接口接收的参数是JSON格式字符串,未做解析就直接使用导致的。

修正方案

先将字符串格式的输入转为Python字典,再优化逻辑获取最大值对应的键值对:

import json

# 若接口传入的是字符串格式字典,先解析;如果fruits本身已是字典可跳过此步
fruits_str = '{"Apple": {"0": 0}, "Mango": {"0": 1}}'
fruits = json.loads(fruits_str)

# 一次遍历获取最大值对应的键值对,避免重复遍历
max_pair = max(fruits.items(), key=lambda x: float(x[1]['0']))
result = {max_pair[0]: float(max_pair[1]['0'])}

print(result)  # 输出: {'Mango': 1.0}

代码说明

  • json.loads():将JSON字符串解析为Python字典,解决类型不匹配的根本问题
  • max(fruits.items(), key=...):直接遍历字典键值对,通过lambda指定以嵌套值转成float后的结果作为排序依据,一次遍历即可拿到目标数据
  • 最终结果完全匹配预期的格式与数据类型

内容的提问来源于stack exchange,提问作者codette

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 03:54:55