Python数据结构表示一个无限树,具有属性和循环,直到最后一个深度
我有一套多层次/深度的分类:Python数据结构表示一个无限树,具有属性和循环,直到最后一个深度,python,python-3.x,Python,Python 3.x,我有一套多层次/深度的分类: 1. A - A1 - A11 - A12 - A121 - A122 -A2 2. B 3. C - C1 - C2 我需要 在python数据结构中表示这些类别。我在列表中有关于列表的内容,但我认为这对我没有帮助,因为我需要知道类别(A、A1、A2)的深度关系和名称 l=[A->[A1]->[A12]->[A121,A122]] 循环浏览所有类别列表,转到最后一个深度,并随机选择其中
1. A
- A1
- A11
- A12
- A121
- A122
-A2
2. B
3. C
- C1
- C2
我需要
- 第一个元素A,转到最后一个深度,在A121和A122之间随机选择
- 第三个元素C,在C1和C2之间随机选择
首先,为了进行测试,我将手动创建结构,但我想稍后从CSV导入,您可以使用第三方Python包,称为anytree表单 代码.py 输出
============= RESTART: C:/Python36/MyTestScripts/anytree_test.py =============
Node('/A')
Node('/A/A1/A12/A122')
A
└── A1
├── A11
├── A12
│ ├── A121
│ └── A122
└── A2
>>>
听起来像是一个计划,你的问题是?数据目前以什么形式存储,请分享一个例子。请参考此链接@zipa数据未存储,首先我想做一个手动数据结构,然后从csv或web@zwer我的问题在“我需要”部分,因为我不知道如何开始后面使用的结构是什么来表示数据?因为首先我想使用手动结构来测试部分代码,在使用csvIf之前,您可以在安装anytree后引用Node.py,Node基本上是一个类对象,有两个数据成员,(self.name,self.parent),该节点及其父节点的名称。它会随着节点数量的增加而不断增长
from anytree import Node, RenderTree
A = Node("A")
A1 = Node ("A1", parent=A)
A11 = Node("A11", parent = A1)
A12 = Node("A12", parent = A1)
A121 = Node("A121", parent = A12)
A122 = Node("A122", parent = A12)
A2 = Node("A2", parent=A1)
B = Node("B")
C = Node("C")
C1 = Node("C1", parent=C)
C2 = Node("C2", parent=C)
print (A)
print(A122)
for pre, fill, node in RenderTree(A):
print("%s%s" % (pre, node.name))
============= RESTART: C:/Python36/MyTestScripts/anytree_test.py =============
Node('/A')
Node('/A/A1/A12/A122')
A
└── A1
├── A11
├── A12
│ ├── A121
│ └── A122
└── A2
>>>