【发布时间】:2017-02-16 15:13:59
【问题描述】:
我知道pprint 可以漂亮地打印嵌套列表或字典,它们都是树结构的类型,但我想pprint 具有任意数量的子级的基于类的树,这样节点是根据它们在树中的级别向右缩进。
pprint 可以用来做我想做的事吗?如果可以,怎么做?我可以编写自己的函数来漂亮地打印一棵树,但我想检查我是否需要这样做。
考虑以下示例:
class Tree:
def __init__(self, value, *args):
self.value = value
self.children = args
tree = Tree("+", Tree(1), Tree("*", Tree(2), Tree(3)))
如果我们要漂亮地打印树,这是我的预期输出:
+
1
*
2
3
同样,我当然可以推出自己的功能,但我想看看我是否可以使用pprint 来代替,这样会更容易而且我只是忽略了一些东西。
pprint documentation 没有为我的用例提供示例。
如果有什么不同,我使用的是 Python 2.7。
【问题讨论】:
标签: python python-2.7 tree pretty-print pprint