可以使用哪些数据结构来表示Python中树中的多个子项?

时间:2013-07-08 03:33:28

标签: python data-structures tree

我想用这种格式表示数据:

                        Root

Block1         Block2              Block3 ....               BlockN

每个街区现在有4个孩子。我希望能够在将来改变它,所以它应该至少有4个孩子,将来可能还有更多。

                       Block

Child1    Child2                  Child3 Child4

每个孩子都有一个浮动值。 我想知道在Python中是否存在任何现有的数据结构。

2 个答案:

答案 0 :(得分:0)

defaultdict 也许你想要的

here is the docs

from collections import defaultdict
x = defaultdict(list)
x[some_block].append(some_child)  # add child

答案 1 :(得分:0)

您的数据结构本质上是一个二维数组,其中第一维是块,第二维是子。

在Python中,我可能会使用列表列表:

child1, child2, child3, child4 = 1, 2, 3, 4
block1 = [child1, child2, child3, child4]
# other children, blocks, etc.
root = [block1, block2, block3, block4]
print(root[0][0] == 1)

如果每个孩子只是一个值,那么你真的不需要那么复杂。