我试图从一个派生列表d
构造一个python rich.Tree
。
d = {0: [1, 2], 2: [3, 4, 5], 4: [6, 7]}
我期望得到这样的结果:
# manually constructed string
expected = \
"""
0
├── 1
└── 2
└── 3
└── 4
└── 6
└── 7
└── 5
"""
但我对如何继续施工感到困惑:下面的代码不正确。
from rich.tree import Tree
from rich import print as rprint
tree = Tree("0")
tree.add("1")
tree.add("2").add("3")
tree.add("4").add("6").add("7")
tree.add("5")
rprint(tree)
0
├── 1
├── 2
│ └── 3
├── 4
│ └── 6
│ └── 7
└── 5
如有任何建议,将不胜感激,谢谢!
2条答案
按热度按时间gjmwrych1#
以下方法应该有效:
如果查看文档中链接的示例,您会发现
tree.add(...)
返回一个值,然后可以将该值添加到deyfvvtc2#
你可以使用一个递归函数来将树的字典表示(即邻接列表)转换为嵌套树对象:
这样打电话: