ファイル内の各エンティティの親を解析した後に得られた親子関係を持つ実体の辞書があります。 次の構造を持つ辞書になります。各要素にはすべての親の完全なリストがあります。サンプル辞書:親を持つオブジェクトの辞書を子を持つ入れ子になった辞書に変換する
data_dict = {
'1388004': {'content': '13',
'parents': ['1280', '1279', '90964', '1385', '91061', '1239', '1783272', '2', '131567', '1'],
'name': 'foo'},
'1895753': {'content': '11',
'parents': ['46913', '45401', '356', '28211', '1224', '2', '131567', '1'],
'name': 'bar'},
'642227': {'content': '11',
'parents': ['82986', '1903409', '91347', '1236', '1224', '2', '131567', '1'],
'name': 'baz'},
'89373': {'content': '27',
'parents': ['768507', '768503', '976', '68336', '1783270', '2', '131567', '1'],
'name': 'zab'},
'81406': {'content': '21',
'parents': ['872', '194924', '213115', '28221', '68525', '1224', '2', '131567', '1'],
'name': 'oof'},
'796027': {'content': '12',
'parents': ['410829', '410830', '4892', '4891', '147537', '716545', '4890', '451864', '4751', '33154', '2759', '131567', '1'],
'name': 'ofo'},
'589342': {'content': '16',
'parents': ['3027', '2759', '131567', '1'],
'name': 'raz'}
}
parents
リストは逆の順番に指定されたエンティティのすべての親を表します。それは589342
の場合、階層は次のようになります。1
(私のツリーのルート)は131567
を含み、2759
を含み、3027
を含み、それ自体は589342
です。
(の今のcontent
とname
フィールドを無視してみましょう)(私は現在持っているようではない両親)私が必要となる出力は、すべてのエンティティとその子供のリストや辞書である、と希望は、理想的のようなもののようになります。
{'id': '1', 'children':[{
'id':'131567', 'children':[
{'id':'2759', 'children':[...]},
{'id':'2', 'children':[...]}
]
},
...
]
}
これを達成する方法についてのご意見は歓迎します。より多くの情報が必要な場合は、私に知らせてください。
いいえ、「parents」リストはすべての親(オブジェクトの親とその親、腐敗に達するまで)のリストです。申し訳ありませんが私の説明が明らかでない場合。 – 2naab4u
両親が*健全であることは保証されていますか?一方の親リストは '[a、b、c]'であり、他方は '[a、d、c]'である可能性はありますか? –
はい、オブジェクトに到達する可能性のあるパスは常に1つだけです。 – 2naab4u