python - "nicely"如何打印出一棵没有节点信息的树

标签 python tree

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

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

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

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

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

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

最佳答案

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)

关于python - "nicely"如何打印出一棵没有节点信息的树,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21843000/

相关文章:

python - python中Kmeans聚类对RGB图像进行图像分割

python - 如果此列表中的值不在该嵌套字典的键之一内,如何删除该值?

python - Tkinter 问问题对话框

d3.js - LinkText 在树布局 d3js 中不起作用

c++ - 是否有任何有效的方法来填充平衡树结构

python - 将不同的列加入其中之一 - python

python - 在构建这个扭曲的网络抓取工具时我做错了什么?

c# - 将深度数组转换为树的高效算法

c++ - 如何修复我的 STL 样式容器以容纳不完整或抽象类型?

查找由数字拼写的单词的算法