【发布时间】:2016-02-17 09:23:17
【问题描述】:
我有一个具有以下结构的字典列表:
[{
"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"
]
]
]
]
]
]
包可以不同,可以有任何深度,只需要从父子关系构造树即可。
【问题讨论】:
标签: python arrays json tree hierarchy