【发布时间】:2023-04-04 23:55:01
【问题描述】:
我遇到了一个问题。
假设我有一个给定的数组,或者 4 个单独的列表(列)
P1 L1 V1 O1
P1 L1 V1 O2
P1 L1 V2 O1
P1 L1 V3 O3
P2 L1 V2 O1
P2 L2 V1 O2
P2 L3 V4 O2
我想把它转换成python树结构:
P1|
|L1|
|V1|
| |O1
| |O2
| |O3
|V2|
| |O1
|V3|
|O3
P2|
|L1|V2|O1
|L2|V1|O2
|L3|V4|O2
现在好了,这个给定的数组可以根据用户输入而改变,它总是有这种“结构”,但它不是先验定义的。
我的目标是定义这样一个结构,并有可能在最低级别了解给定孩子的所有父母。
总而言之,按照@trincot 的建议,我输入了一个输入/输出数据类型:
Input: 4 lists, example:
['P1', 'P1', 'P1', 'P1', 'P1', 'P1', 'P1', 'P1', 'P1', 'P1', 'P1', 'P1', 'P2', 'P2', 'P2', 'P2', 'P2', 'P2', 'P2', 'P2', 'P2', 'P2']
output: One tree structure like this:
{'P1': {'L1': {'V1': {'O1': 'O1'}}, 'L2': {'V2': {'O2': 'O2'}, 'V1': {'O1': 'O1'}}}, 'P2': {'L1': {'V1': {'O1': 'O1'}}, 'L2': {'V2': {'O2': 'O2'}, 'V1': {'O1': 'O1'}}}}
在输出中,我想知道最后一级的元素是什么,并知道该元素的所有父级。
当然,如果其他数据类型更合适,我将不胜感激。
感谢您的帮助!
【问题讨论】:
-
请以您所拥有的确切数据结构提供您的输入,以及您期望的确切输出结构(以 Python 语法)。
-
我的输入将是包含 P、L、V、O 的 4 个列表。我的输出将是一个树结构,如:P1{L1{V1{O1,O2,O3} , V2{O1 , O2}}, {L2 {.....}}, ....}
-
请编辑您的问题并以 Python 语法添加此输入/输出,而不是(仅)作为可能模棱两可的英文描述。
-
完成,谢谢建议
-
该示例输入是否与示例输入相关?你能让它们相互关联,所以有一个实际的测试用例要做吗?
标签:
python
tree
binary-search-tree
nodechildren
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python:从给定的数组/列表创建树结构 - Python技术站