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

建议为Python内置dict添加.nestkey方法实现多层嵌套字典动态寻址

关于Python嵌套字典动态键寻址的内置方法建议

Python目前没有针对多层嵌套字典结构的动态键寻址内置方法(暂称nestkey),处理复杂嵌套字典时手动逐层赋值非常繁琐。比如可以用dic_1.nestkey(list_of_keys_A) = value替代冗长的dic_1["key_1"]["subkey_2"]["subsubkey_3"]... = value写法。

这和普通的一级字典赋值(比如dic_1["key_1"] = value_1、dic_2["key_2"] = value_2这类操作)完全不同。

虽然通常不建议使用嵌套字典结构,但在必要场景下,这种动态寻址功能会非常实用,示例代码如下:

list_values = [1, 2, 3]; ii = -1
for list_nestedkeys_i in [list_nestedkeys_A, list_nestedkeys_B, list_nestedkeys_C]:
    ii += 1; dic.nestkey(list_nestedkeys_i) = list_values[ii]

为此,建议给dict类添加nestkey内置方法,以下是具体实现代码:

def nestkey(self, keys, value):
    d = self  # 指向当前嵌套字典
    for key in keys[:-1]:  # 遍历到倒数第二个键
        if key not in d:
            d[key] = {}  # 键不存在时创建嵌套字典
        d = d[key]  # 深入到下一层字典
    d[keys[-1]] = value  # 为最后一个键赋值

内容的提问来源于stack exchange,提问作者José Crespo Barrios

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 05:42:04