我让用户能够检查多级字典中的特定键.我的想法是他们会像这样将路径传递给密钥:
root.subelement1.subelement2.key
Run Code Online (Sandbox Code Playgroud)
这可以是任意长度和深度.
一旦我有了用户的字符串(上面),我将拆分它并获得每个组件的列表:
elements = ['root', 'subelement1', 'subelement2', 'key']
Run Code Online (Sandbox Code Playgroud)
所有这些我都能做到.接下来的部分是我被困住的地方.当它是任意长度时,如何查询由上面指定的字典键?
我最初的想法是做一些像my_dict[elements[0]][elements[1]]......但当我的用户没有完全按照我期望的长度传递时,这不会扩展或工作.
在这种情况下,如何以任意键深度获取数据?
几个例子:
country.US.NewYork=>我查询`my_dict ['country'] ['US'] ['NewYork']department.accounting=>我查询my_dict['department']['accounting']id=>我查询my_dict['id']district.District15.HenryBristow.principal=>我查询my_dict['district']['District15']['HenryBristow']['principal']