У меня есть словарь, каждое значение в словаре - это список с 0 или более элементами, представляющими отношения parent: [children].
Например, my_dict = {'435': ['188', '436', '439', '1038'], '188': ['198'], '436': ['86', '115', '437', '444', '626', '650'], '439': [], '1038': ['733', '1037'], '198': [], '86': [], '115': [], '437': [], '444': [], '626': [], '650': [], '733': ['14'], '1037': [], '14': []}
Итак, родительский (и root узел) 435
имеет детей 188, 426, 439, 1038
. Узел 188
имеет дочерний элемент 198
, et c.
Я хотел бы открыть этот словарь (в конечном счете, я хотел бы, чтобы словарь был в формате d3, необходимом для чего-то вроде this (в частности, flare. json))
Желаемый синтаксис, [{"name": "435", "children": [{"name": "188", "children": [{"name": "198"}]}]}]
Я думал что-то вроде этого,
my_dict = {'435': ['188', '436', '439', '1038'], '188': ['198'], '436': ['86', '115', '437', '444', '626', '650'], '439': [], '1038': ['733', '1037'], '198': [], '86': [], '115': [], '437': [], '444': [], '626': [], '650': [], '733': ['14'], '1037': [], '14': []}
for key, value in list(my_dict.items()):
if value != []:
n = 0
children = value
for child in children:
children[n] = {"name": child}
n = n + 1
Или, возможно, рекурсивная функция была бы лучше? Я не уверен, как подойти к этому. Спасибо!