【发布时间】:2016-08-20 20:42:30
【问题描述】:
拿一本字典
dict = {"word":{"a":{"b":2}}}
我想得到值 2。
要访问它,我可以这样做dict["word"]["a"]["b"]
但是我想知道我能否在字符串中包含部分键(["a"]["b] 部分)
然后像这样引用它
string = "[\"a\"][\"b\"]"
dict["word"]string
或者类似的东西
我知道这种语法是不正确的,但可以这样做吗?
在 Python 3.x 中
编辑: 一个更好的 dict 示例可能是这样的
dict = {
"word":{"a":{"b":2}}
"hello":{"a":{"b":1}}
"mouse":{"a":{"b":5}}
}
在每种情况下如何获取 b 的值?您希望避免在密钥的 ["a"]["b"] 位中进行硬编码,以防万一发生更改。
【问题讨论】:
-
使用这个的上下文是什么?
-
这可能是“xy 问题”的情况 - 以这种方式通过字符串引用嵌套的字典项是不可能的,但你想要做的可能是……以另一种方式.那么,你想用它做什么呢?
-
Python 有一个
eval函数,它可能会使其工作 - 但我同意以前的 cmets。 -
否则你可以使用这样的想法:pypi.python.org/pypi/easydict
-
我不明白为什么需要你使用这种方法?为什么不能只使用 .keys() 方法获取密钥?
标签: python string python-3.x dictionary