Skip to main content
 首页 » 编程设计

python之2-dim 字典,键为字符串

2025年05月04日17cloudgamer

我有一个可能很简单的问题,但我还没有找到解决方案。 我试图在字符串变量的帮助下访问 2-dim 字典,但无法正确访问它。将 key 保存在代码上下文中的字符串变量中非常重要

一个简单的例子:

x = {"one":{"one":1},"two":2} 
s1 = "two" 
x[s1]                                                                                                                                       
2                                                                                                                                               
s2 = '["one"]["one"]'                                                                                                                                             
x[s2] 
Traceback (most recent call last):                                                                                                              
File "<stdin>", line 1, in <module>                                                                                                           
KeyError: '["one"]["one"]'                                                                                                                        

有没有办法将这个 2-dim 键存储到一个变量中,以便稍后访问字典?

请您参考如下方法:

最好的方法是使用键的 tuple 而不是像这样的字符串。

>>> # from functools import reduce (uncomment in Py3) 
>>> x = {"one":{"one":1},"two":2} 
>>> def access(d, keys): 
        return reduce(dict.get, keys, d) 
 
 
>>> access(x, ("two", )) 
2 
>>> access(x, ("one", "one")) 
1