我正在寻找一个好的Tree数据结构类.我遇到过这个包,但由于我相对较新的Python(不是编程),我不知道那里有没有更好的.
我想在这里听到Pythonistas的消息 - 你有一个你经常使用并会推荐的最喜欢的树脚本吗?
[编辑]
澄清一下,'Tree',我的意思是一个简单的无序树(嗯,这有点像一个递归的定义 - 但希望,这有点澄清一些事情).关于我需要的树(即用例).我正在从平面文件中读取树数据,我需要从数据构建树并遍历树中的所有节点.
我正在使用Python,我有一些数据,我想将其放入树格式并分配代码.这是一些示例数据:
Africa North Africa Algeria
Africa North Africa Morocco
Africa West Africa Ghana
Africa West Africa Sierra Leone
Run Code Online (Sandbox Code Playgroud)
这些数据的适当树结构是什么?
另外,有没有办法可以从这个树结构中检索数字代码,这样我就可以查询数据并获得如下例子的代码?
def get_code(place_name):
# Python magic query to my tree structure
return code
get_code("Africa") # returns 1
get_code("North Africa") # returns 1.1
get_code("Morocco") # returns 1.1.2
Run Code Online (Sandbox Code Playgroud)
谢谢你的帮助 - 我还有很多东西需要学习Python :)
这是输入:
list_child_parent= [
#first value is child, second is parent
(0, 1),
(1, 3),
(8, 7),
(3, 6),
(4, 3),
(5, 3)
]
Run Code Online (Sandbox Code Playgroud)
输出需要使用这些值创建嵌套字典树。树的深度永远不会超过 6 层。
例如:
output_dict = {
6: {3: {1: {0: {}}, 4: {}, 5: {}}}, 7: {8: {}}
}
Run Code Online (Sandbox Code Playgroud)
我花了两天时间试图完成这个任务。我尝试编写函数来查找键在树中的位置,然后在其后添加新键,但我无法生成可以继续超过 3 个级别的代码。这令人困惑,我觉得可能有一个标准库可以做到这一点。
我的经验水平很低。