Python でリストからネストされた辞書を作成するにはどうすればよいでしょうか? 質問する

Python でリストからネストされた辞書を作成するにはどうすればよいでしょうか? 質問する

文字列のリストがあります:tree_list = ['Parents', 'Children', 'GrandChildren']

このリストを取得して、次のようにネストされた辞書に変換するにはどうすればよいでしょうか?

tree_dict = {
    'Parents': {
        'Children': {
            'GrandChildren' : {}
        }
    }
}

print tree_dict['Parents']['Children']['GrandChildren']

ベストアンサー1

この最も簡単な方法は、内側から外側に向かって辞書を構築することです。

tree_dict = {}
for key in reversed(tree_list):
    tree_dict = {key: tree_dict}

任意の終端値の場合:

result = ... # terminal value 
for k in reversed(keys):
    result = {k:  result}
# result is the nested dict

おすすめ記事