Преобразование списка деревьев в иерархию

У меня есть список элементов с attrs: parent, level, is_leaf_node, is_root_node, is_child_node.

Я хочу преобразовать этот список в иерархию диктов. Пример вывода dict:

{
        'Technology':
            {
             'Gadgets':{},
             'Gaming':{},
             'Programming':
                {
                    'Python':{},
                    'PHP':{},
                    'Ruby':{},
                    'C++':{}
                },
             'Enterprise':{},
             'Mac':{},
             'Mobile':{},
             'Seo':{},
             'Ui':{},
             'Virtual Worlds':{},
             'Windows':{},
            },
        'News':{
            'Blogging':{},
            'Economics':{},
            'Journalism':{},
            'Politics':{},
            'News':{}
            },}

Я не знаю алгоритм. Как это сделать?

Ответы на вопрос(5)

Ваш ответ на вопрос