很抱歉,如果这个问题以前已经回答过-我一直在寻找解决方案,但我可能没有使用正确的搜索词。
无论如何,我要做的是以编程方式在字典中设置一个值,可能是嵌套的,给定一个索引列表和一个值。
例如,假设我的索引列表是:
['person', 'address', 'city']
价值是
'New York'
因此,我想要一个dictionary对象,比如:
{ 'Person': { 'address': { 'city': 'New York' } }
基本上,该列表表示嵌套字典的“路径”。
我想我可以自己构造字典,但我遇到的困难是如何设置值。很明显,如果我只是手动编写代码的话:
dict['Person']['address']['city'] = 'New York'
但是,如果我只有一个索引和值的列表,我如何索引到字典中并以编程方式设置类似的值呢?
希望这是有意义的,不是太愚蠢的问题。。。:)谢谢你的帮助。
首先,你可能想看看setdefault
作为一个函数,我会把它写成
这将用作:
这可以通过错误处理等方法来清除,也可以使用
*args
而不是使用单个键列表参数;但其思想是 您可以遍历键,在每个级别上提取适当的字典。还有一个选择:
我最初是从这里得到这个的:https://stackoverflow.com/a/10218517/1530754。
如果你问我的话,我觉得很聪明很优雅。
像这样的事情可能会有帮助:
你可以这样使用它:
相关问题 更多 >
编程相关推荐