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

如何从Python嵌套字典中获取指定的categories列表值?

错误原因

你现有代码的问题主要有3个:

  • 字典获取所有值的内置方法是.values(),你写的.val()是不存在的错误方法
  • 你将字典的值转为列表后遍历,遍历到的都是各个键对应的内容,"preferences"是字典的键不是值,所以判断条件永远不会成立
  • 依赖索引位置弹出值的写法稳定性极差,只要字典键的存储顺序发生变化,就会取到错误内容,字典取值优先用键直接索引。

正确实现

你要取的categories是嵌套在preferences字段里的列表,直接通过键逐层取值即可,一行代码就能完成:

# 直接按键取值,键存在时的最简写法
categories = anotherDict['preferences']['categories']
print(categories)

如果担心字典里可能缺少对应键导致报错,可以用get方法做兼容,缺少对应键时会返回空列表不会抛出异常:

# 兼容键不存在的场景
categories = anotherDict.get('preferences', {}).get('categories', [])
print(categories)

运行后输出的结果就是你需要的categories列表:
['Coastal', 'Deserts', 'Forts', 'Hill Stations', 'Islands', 'Lakes']

内容的提问来源于stack exchange,提问作者Naseer ud din

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 16:06:03