在Python中,哪些数据结构可用于表示树中的多个子级?

在Python中,哪些数据结构可用于表示树中的多个子级?,python,data-structures,tree,Python,Data Structures,Tree,我想用这种格式表示数据: Root Block1 Block2 Block3 .... BlockN 现在每个街区将有4个孩子。我希望将来能够改变这一点,这样它至少应该有4个孩子,将来可能还会有更多孩子 Block Child1 Child2 Child3 Child4 每个子级将有一个

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

                        Root

Block1         Block2              Block3 ....               BlockN
现在每个街区将有4个孩子。我希望将来能够改变这一点,这样它至少应该有4个孩子,将来可能还会有更多孩子

                       Block

Child1    Child2                  Child3 Child4
每个子级将有一个浮点值。
我想知道Python中是否存在用于此目的的现有数据结构。

defaultdict可能是您想要的


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

在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)

如果每个子对象都只是一个值,那么您真的不需要比这更复杂的了。

配对堆是一个很好的方法。很容易用Python实现。@Sukritkalla:堆完全不适合用于此目的。问题不在于对项目进行排名或跟踪集合中的最小项目。我假设他想这样做,因为他说这些值将是浮动值。错误的假设,嵌套列表不是更好的方法吗?这是一个简单的三元树。使用
列表
表示子项,如果需要,可以添加一些
属性
通过属性查找访问前4个子项。
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)