就是一个根节点下面有数目不定的子节点,比较像文件夹、文件的感觉。
源数据是表结构,有 自己 id 、父节点 id 、数据内容 这几列。
想实现的功能是,根据源数据可以创建一个 树的对象 , 树的对象可以根据查询条件返回节点对象或者节点对象列表,节点对象也可以根据查询条件查询符合的子节点、父节点对象(或对象列表),类似于下面的
class Node:
def __init__(self, xxx):
self.parent
self.children
self.title
self.data
class MyTree:
def __init__(self, data):
self.root_node = Node(xxx)
for line in data:
???
tree = MyTree(data=data)
root_node = tree.get_root()
if root_node.exists_child(condition):
such_node = root_node.query(condition)
if such_node.exists_child(xxx):
print('found!')
else:
print('not exists!')
感觉和爬虫用的 lxml.etree 很像,有什么现成的轮子吗?看了 anytree ,感觉不太理想,或者请大佬指教一下写法
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.