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

Tcl多层dict访问与键值关系理解 如何获取深层嵌套值

Tcl多层嵌套dict取值方案

Tcl 原生dict get命令支持传入多段键名,直接按路径访问嵌套结构,无需逐层拆包。结合列表取值命令即可拿到你要的目标值,具体操作如下:

核心取值代码

提取C对应的I、J、K值

# 按路径直接取出C下key h对应的列表
set c_h_val [dict get $a b C h]
# 方式1:逐个取值
set I [lindex $c_h_val 0]
set J [lindex $c_h_val 1]
set K [lindex $c_h_val 2]

# 方式2:一次性赋值给三个变量(更简洁)
lassign $c_h_val I J K

提取L对应的O、P、Q值

set l_h_val [dict get $a b L h]
lassign $l_h_val O P Q

批量遍历所有二级键的方案

如果你需要遍历b下的所有二级键(C、L等)统一处理,可以用如下写法:

# 先获取b下的所有二级键列表
set second_keys [dict keys [dict get $a b]]
foreach key $second_keys {
    # 动态拼接键路径取值
    lassign [dict get $a b $key h] val1 val2 val3
    puts "键$key对应的三个值为:$val1 $val2 $val3"
}

注意事项

  • 取值前如果不确定键路径是否存在,可以先用dict exists $a b C h判断,避免抛出键不存在的运行错误
  • 嵌套层级没有限制,只要按顺序把各级键名依次传入dict get即可访问任意深度的dict值

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 03:06:00