構造層次樹在這裏需要一點幫助,有以下結構Python字典清單:從蟒蛇平父子字典列表
[{ "parent": "com.company.object.kind.type.subtype.family.Feline", "class": "com.company.object.kind.type.subtype.family.species.Cat" }, { "parent": "com.company.object.kind.type.subtype.Mammal", "class": "com.company.object.kind.type.subtype.family.Feline" }, { "parent": "com.company.object.Being", "class": "com.company.object.kind.LivingBeing" }, { "parent": "com.company.object.kind.type.subtype.family.Canine", "class": "com.company.object.kind.type.subtype.family.species.Wolf" }, { "parent": "com.company.object.kind.type.subtype.Mammal", "class": "com.company.object.kind.type.subtype.family.Canine" }, { "parent": "com.company.object.kind.type.Animal", "class": "com.company.object.kind.type.subtype.Mammal" }, { "parent": "com.company.object.kind.LivingBeing", "class": "com.company.object.kind.type.Animal" }, { "parent": "com.company.object.kind.type.Animal", "class": "com.company.object.kind.type.subtype.Fish" }, { "parent": "com.company.object.kind.StaticBeing", "class": "com.company.object.kind.type.Solid" }, { "parent": "com.company.object.Being", "class": "com.company.object.kind.StaticBeing" }, { "parent": "com.company.object.kind.type.subtype.family.Feline", "class": "com.company.object.kind.type.subtype.family.species.Lion" }, { "parent": "com.company.object.kind.type.subtype.family.Canine", "class": "com.company.object.kind.type.subtype.family.species.Hyena" }, { "parent": "com.company.object.kind.StaticBeing", "class": "com.company.object.kind.type.Liquid" }]
,需要在從中構建一個層次樹以下方式:
[ "com.company.object.Being" : [ "com.company.object.kind.StaticBeing": [ "com.company.object.kind.type.Solid", "com.company.object.kind.type.Liquid" ], "com.company.object.kind.LivingBeing": [ "com.company.object.kind.type.Animal": [ "com.company.object.kind.type.subtype.Fish", "com.company.object.kind.type.subtype.Mammal": [ "com.company.object.kind.type.subtype.family.Canine": [ "com.company.object.kind.type.subtype.family.species.Wolf", "com.company.object.kind.type.subtype.family.species.Hyena" ], "com.company.object.kind.type.subtype.family.Feline": [ "com.company.object.kind.type.subtype.family.species.Lion", "com.company.object.kind.type.subtype.family.species.Cat" ] ] ] ] ] ]
包可以是不同的,並有任何類型的深度,它只需要從父子關係構造樹。任何人都面對過這個?我不知道如何實現這一點,任何幫助或反饋表示讚賞。
PS:邏輯可以是任何語言,但我更喜歡Csharp或python本身。