我很难通过使用键列表来访问嵌套字典中的值。Tcl:如何通过键列表从嵌套字典中获取值
dict set testDict library [dict create NY [dict create section [dict create adult [dict create book cinderella]]]]
library {NY {section {adult {book cinderella}}}}
# I can access the value by:
dict get $testDict library NY section adult book
cinderella
# cannot access the same by list of keys in a variable
set keyLst {library NY section adult book}
library NY section adult book
set keyStr "library NY section adult book"
library NY section adult book
dict get $testDict $keyLst
key "library NY section adult book" not known in dictionary
dict get $testDict $keyStr
key "library NY section adults book" not known in dictionary
# The only not elegant solution I came up is using eval + list
eval dict get \$testDict $keyStr
key "adults" not known in dictionary
eval dict get \$testDict $keyLst
cinderella
虽然eval在这种情况下工作 - 必须有更好的方式来直接做到这一点。
任何想法如何通过变量中的键列表访问嵌套字典值?
如果它只是代码风格,那么你可以在[代码评论](http://codereview.stackexchange.com/)上提问。 –