私はpprint
がどちらのツリー構造のタイプでもあるネストされたリストや辞書をきれいに印刷できることを知っていますが、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を使用しています。
感謝を与えます!これは、[pprint documentation](https://docs.python.org/2/library/pprint.html)に '__repr__'という言葉がないドキュメントバグのようです。 –