将Python字符串分割成嵌套字典的键

3

我有一个字符串:candidate__name__first_name。我想把它转换成如下形式的嵌套字典:

{ 
  candidate: {
    name: {
      first_name: 'MyName'
    }
  }
}

最好的方法是什么?


1
你的输入中没有 MyName,因此它很难出现在输出中。 - Stephen Rauch
2个回答

5
这个怎么样:
recursive_key = 'candidate__name__first_name'
value = 'MyName'
for key in reversed(recursive_key.split('__')):
    value = {key: value}
print(value)

1
像这样的东西:
tokens = 'candidate__name__first_name'.split('__')
final_d = d = {}
for token in tokens[:-1]:
    d[token] = {}
    d = d[token]
d[tokens[-1]] = 'MyName'

final_d
# {'candidate': {'name': {'first_name': 'MyName'}}}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接