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中使用glob和rmtree删除目录子目录及所有文件的例子
Nov 21 Python
用Python实现服务器中只重载被修改的进程的方法
Apr 30 Python
Python多进程并发(multiprocessing)用法实例详解
Jun 02 Python
Python实现将json文件中向量写入Excel的方法
Mar 26 Python
在Python中输入一个以空格为间隔的数组方法
Nov 13 Python
详解pyenv下使用python matplotlib模块的问题解决
Nov 29 Python
利用python在excel里面直接使用sql函数的方法
Feb 08 Python
Numpy 中的矩阵求逆实例
Aug 26 Python
Python matplotlib绘制饼状图功能示例
Sep 10 Python
python判断链表是否有环的实例代码
Jan 31 Python
Python必须了解的35个关键词
Jul 16 Python
如何使用pycharm连接Databricks的步骤详解
Sep 23 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一些常用的正则表达式字符的一些转换
2008/07/29 PHP
几种有用的变型 PHP中循环语句的用法介绍
2012/01/30 PHP
PHP把小数转成整数3种方法
2014/06/30 PHP
CI(CodeIgniter)框架实现图片上传的方法
2017/03/24 PHP
浅析PHP中的闭包和匿名函数
2017/12/25 PHP
PHP判断是否是微信打开,浏览器打开的方法
2018/03/14 PHP
让你的网站可编辑的实现js代码
2009/10/19 Javascript
js原型链原理看图说明
2012/07/07 Javascript
谈谈关于JavaScript 中的 MVC 模式
2013/04/11 Javascript
设为首页和收藏的Javascript代码(亲测兼容IE,Firefox,chrome等浏览器)
2013/11/18 Javascript
网站基于flash实现的Banner图切换效果代码
2014/10/14 Javascript
JS在可编辑的div中的光标位置插入内容的方法
2014/11/20 Javascript
JS实现的网页背景闪电闪烁效果代码
2015/10/17 Javascript
JavaScript类的写法
2016/09/17 Javascript
Vue CLI3 开启gzip压缩文件的方式
2018/09/30 Javascript
js最实用string(字符串)类型的使用及截取与拼接详解
2019/04/26 Javascript
Vue 实现显示/隐藏层的思路(加全局点击事件)
2019/12/31 Javascript
python http接口自动化脚本详解
2018/01/02 Python
Python学习笔记之视频人脸检测识别实例教程
2019/03/06 Python
python基于TCP实现的文件下载器功能案例
2019/12/10 Python
jupyter notebook的安装与使用详解
2020/05/18 Python
使用keras实现Precise, Recall, F1-socre方式
2020/06/15 Python
HTML5等待加载动画效果
2017/07/27 HTML / CSS
详解使用双缓存解决Canvas clearRect引起的闪屏问题
2019/04/29 HTML / CSS
驴妈妈旅游网:中国新型的B2C旅游电子商务网站
2016/08/16 全球购物
W Hamond官网:始于1979年的钻石专家
2020/07/20 全球购物
日本亚马逊官方网站:Amazon.co.jp
2020/04/14 全球购物
讲解员培训方案
2014/05/04 职场文书
2014年团支书工作总结
2014/11/14 职场文书
2015年党务公开工作总结
2015/05/19 职场文书
2015国庆节放假通知范文
2015/07/30 职场文书
新年祝酒词大全
2015/08/11 职场文书
《鸡兔同笼》教学反思
2016/02/19 职场文书
2019公司借款合同范本2篇!
2019/07/24 职场文书
MySQL索引篇之千万级数据实战测试
2021/04/05 MySQL
PHP连接MSSQL数据库案例,PHPWAMP多个PHP版本连接SQL Server数据库
2021/04/16 PHP