如何"很好地"打印出没有节点信息的树

时间:2014-02-18 02:04:48

标签: python tree

我正在处理树,其中每个节点都没有信息,但可以有任意数量的子节点。目前,我正在使用Python中的列表来表示它们。例如:

[]是只有一个节点的树

[[][][]]是一个树,顶部节点有三个孩子

[[][[][[][]]]]是一个树,顶部节点有两个孩子,右边的孩子有两个孩子,右边的孩子有两个孩子。

你可以看到最后一棵树很难读。

有没有办法打印出这些更容易阅读的树? (我知道“更容易”是主观的,所以我很感激您认为可能“更容易”的任何建议。)

1 个答案:

答案 0 :(得分:3)

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)