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

Python中已知嵌套字典的各级key存在变量中时如何访问对应值

报错原因

你写的x[k[nestedk]]的运算优先级是先执行方括号内的k[nestedk]逻辑:

  • 变量k的值是字符串'mynested',Python中字符串索引只支持整数参数,你传入的nestedk是字符串类型'blah',不符合语法要求,所以直接触发TypeError: string indices must be integers报错。

正确访问方式

嵌套字典的取值需要从外层到内层逐层用key访问,先通过第一层keyk拿到内层字典对象,再用第二层keynestedk取最终值,写法如下:

print(x[k][nestedk])

运行后会正确输出结果1。

扩展:多层key通用取值方法

如果嵌套层级很多,各级key存在列表里,可以写个通用工具函数避免手动逐层写括号:

def nested_get(d, keys):
    for key in keys:
        d = d[key]
    return d

# 调用示例
keys = [k, nestedk]
print(nested_get(x, keys))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 00:15:03