Python 如何";“很好地”;打印出没有节点信息的树
我处理的是树,其中每个节点都没有信息,但可以有任意数量的子节点。目前,我使用Python中的列表来表示它们。例如:Python 如何";“很好地”;打印出没有节点信息的树,python,tree,Python,Tree,我处理的是树,其中每个节点都没有信息,但可以有任意数量的子节点。目前,我使用Python中的列表来表示它们。例如: []是一个只有一个节点的树 [[]]是一棵树,其中顶部节点有三个子节点 [[[[]]]是一个树,其中顶部节点有两个子节点,右侧子节点有两个子节点,右侧子节点有两个子节点 你可以看到最后一棵树很难读 有没有一种打印这些树的方法更容易阅读?(我知道“更容易”是主观的,所以如果您认为任何建议“更容易”,我将不胜感激)。。。你希望它看起来像什么?@HughBothwell这正是我不知道的我
[]
是一个只有一个节点的树
[[]]
是一棵树,其中顶部节点有三个子节点
[[[[]]]
是一个树,其中顶部节点有两个子节点,右侧子节点有两个子节点,右侧子节点有两个子节点
你可以看到最后一棵树很难读
有没有一种打印这些树的方法更容易阅读?(我知道“更容易”是主观的,所以如果您认为任何建议“更容易”,我将不胜感激)。。。你希望它看起来像什么?@HughBothwell这正是我不知道的我只知道我当前的表示法很难阅读(例如,最后一个示例
[[[[[[]]]]]
),所以我想知道是否有一种更容易阅读的表示法。请尝试使用添加的缩进在换行上打印每个子项。这可能会使它更容易理解。如果你想要一张图片,请在我讨论时查看graphviz和pydot,以及ubigraph和gephi。
tree = [[],[[],[[],[]]]]
def print_tree(tree, indent = ""):
if len(tree) > 0:
print indent + "["
for child in tree:
print_tree(child, indent + " ")
print indent + "]"
else:
print indent + "[]"
print_tree(tree)