Python多叉树的构造及取出节点数据(treelib)的方法


Posted in Python onAugust 09, 2019

项目:

基于Pymysql的专家随机抽取系统

引入库函数:

>>> import treelib
>>> from treelib import Tree, Node

构造节点类:

>>> class Nodex(object): \
    def __init__(self, num): \
      self.num = num

构造多叉树:(注意节点的第2个属性已标红,它是节点ID,为str类型,不能与其他节点重复,否则构建节点失败)

>>> tree1 = Tree()
>>> tree1.create_node('Root', 'root', data = Nodex('3'));\
   tree1.create_node('Child1', 'child1', parent = 'root', data =Nodex('4'));\
   tree1.create_node('Child2', 'child2', parent = 'root', data =Nodex('5'));\
   tree1.create_node('Child3', 'child3', parent = 'root', data =Nodex('6'));\

构造结果:

>>> tree1.show()
Root
├── Child1
├── Child2
└── Child3

>>> tree1.show(data_property = 'num')
3
├── 4
├── 5
└── 6

打印节点信息:(其实节点是以字典的形式存储的)

>>> tree1.nodes
{'root': Node(tag=Root, identifier=root, data=<__main__.Nodex object at 0x000002265C6A9550>), 'child1': Node(tag=Child1, identifier=child1, data=<__main__.Nodex object at 0x000002265C6A9E10>)}

取出child1节点存储的数据:

>>> tree1.nodes['child1'].data.num
'4'

以上这篇Python多叉树的构造及取出节点数据(treelib)的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python信息抽取之乱码解决办法
Jun 29 Python
Python实现求两个csv文件交集的方法
Sep 06 Python
Python批处理更改文件名os.rename的方法
Oct 26 Python
一篇文章了解Python中常见的序列化操作
Jun 20 Python
python监控进程状态,记录重启时间及进程号的实例
Jul 15 Python
python字符串分割及字符串的一些常规方法
Jul 24 Python
解决Django中checkbox复选框的传值问题
Mar 31 Python
Spark处理数据排序问题如何避免OOM
May 21 Python
PyQt5实现登录页面
May 30 Python
Python3读取和写入excel表格数据的示例代码
Jun 09 Python
Django与AJAX实现网页动态数据显示的示例代码
Feb 24 Python
Pytorch之扩充tensor的操作
Mar 04 Python
一行python实现树形结构的方法
Aug 09 #Python
解决django同步数据库的时候app models表没有成功创建的问题
Aug 09 #Python
Python3 venv搭建轻量级虚拟环境的步骤(图文)
Aug 09 #Python
Python Django 命名空间模式的实现
Aug 09 #Python
Mac安装python3的方法步骤
Aug 09 #Python
对python 树状嵌套结构的实现思路详解
Aug 09 #Python
Python  Django 母版和继承解析
Aug 09 #Python
You might like
详解PHP显示MySQL数据的三种方法
2008/06/05 PHP
PHP 上传文件大小限制
2009/07/05 PHP
探讨php中header的用法详解
2013/06/07 PHP
PHP实现二叉树的深度优先与广度优先遍历方法
2015/09/28 PHP
php实现分页显示
2015/11/03 PHP
PHP中overload与override的区别
2017/02/13 PHP
JS location几个方法小姐
2008/07/09 Javascript
bgsound 背景音乐 的一些常用方法及特殊用法小结
2010/05/11 Javascript
如何确保JavaScript的执行顺序 之实战篇
2011/03/03 Javascript
解析JavaScript中的标签语句
2013/06/19 Javascript
js创建子窗口并且回传值示例代码
2013/07/02 Javascript
js实现的常用的左侧导航效果
2013/10/17 Javascript
常见表单重复提交问题整理及解决方法
2013/11/13 Javascript
利用JQuery和Servlet实现跨域提交请求示例分享
2014/02/12 Javascript
MVC Ajax Helper或Jquery异步加载部分视图
2015/11/29 Javascript
用原生JS实现简单的多选框功能
2017/06/12 Javascript
Nuxt.js踩坑总结分享
2018/01/18 Javascript
javascript设计模式之迭代器模式
2020/01/30 Javascript
微信小程序 button样式设置为图片的方法
2020/06/19 Javascript
Python中列表、字典、元组、集合数据结构整理
2014/11/20 Python
总结python实现父类调用两种方法的不同
2017/01/15 Python
python3+PyQt5实现自定义窗口部件Counters
2018/04/20 Python
python基础教程之while循环
2019/08/14 Python
用什么库写 Python 命令行程序(示例代码详解)
2020/02/20 Python
Python confluent kafka客户端配置kerberos认证流程详解
2020/10/12 Python
细说CSS3中box属性中的overflow-x属性和overflow-y属性值的效果
2014/07/21 HTML / CSS
利用canvas实现图片压缩的示例代码
2018/07/17 HTML / CSS
选购国际女性时装设计师品牌:IFCHIC(支持中文)
2018/04/12 全球购物
澳大利亚第一旅行车和房车配件店:Caravan RV Camping
2020/12/26 全球购物
拔河比赛口号
2014/06/10 职场文书
民警群众路线教育实践活动对照检查材料
2014/10/04 职场文书
党的群众路线教育实践活动方案
2014/10/31 职场文书
世界红十字日活动总结
2015/02/10 职场文书
社区端午节活动总结
2015/02/11 职场文书
创业计划书之电动车企业
2019/10/11 职场文书
SQL Server中使用表变量和临时表
2022/05/20 SQL Server