Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何";“很好地”;打印出没有节点信息的树_Python_Tree - Fatal编程技术网

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

Python 如何";“很好地”;打印出没有节点信息的树,python,tree,Python,Tree,我处理的是树,其中每个节点都没有信息,但可以有任意数量的子节点。目前,我使用Python中的列表来表示它们。例如: []是一个只有一个节点的树 [[]]是一棵树,其中顶部节点有三个子节点 [[[[]]]是一个树,其中顶部节点有两个子节点,右侧子节点有两个子节点,右侧子节点有两个子节点 你可以看到最后一棵树很难读 有没有一种打印这些树的方法更容易阅读?(我知道“更容易”是主观的,所以如果您认为任何建议“更容易”,我将不胜感激)。。。你希望它看起来像什么?@HughBothwell这正是我不知道的我

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

[]
是一个只有一个节点的树

[[]]
是一棵树,其中顶部节点有三个子节点

[[[[]]]
是一个树,其中顶部节点有两个子节点,右侧子节点有两个子节点,右侧子节点有两个子节点

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


有没有一种打印这些树的方法更容易阅读?(我知道“更容易”是主观的,所以如果您认为任何建议“更容易”,我将不胜感激)

。。。你希望它看起来像什么?@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)