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学习笔记 下载
Feb 10 Python
Python 多进程并发操作中进程池Pool的实例
Nov 01 Python
python3爬取淘宝信息代码分析
Feb 10 Python
通过Python 接口使用OpenCV的方法
Apr 02 Python
java中两个byte数组实现合并的示例
May 09 Python
python 遍历目录(包括子目录)下所有文件的实例
Jul 11 Python
Python判断字符串是否为字母或者数字(浮点数)的多种方法
Aug 03 Python
python 检查是否为中文字符串的方法
Dec 28 Python
Python实现查找最小的k个数示例【两种解法】
Jan 08 Python
Python实现的在特定目录下导入模块功能分析
Feb 11 Python
Python里字典的基本用法(包括嵌套字典)
Feb 27 Python
Python提取PDF内容的方法(文本、图像、线条等)
Sep 25 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中使用XML
2006/10/09 PHP
mysql 的 like 问题,超强毕杀记!!!
2007/01/18 PHP
php入门之连接mysql数据库的一个类
2012/04/21 PHP
使用纯php代码实现页面伪静态的方法
2015/07/25 PHP
php封装的连接Mysql类及用法分析
2015/12/10 PHP
PHP Swoole异步MySQL客户端实现方法示例
2019/10/24 PHP
jquery 问答知识整理
2010/02/11 Javascript
JS 获取浏览器和屏幕宽高等信息的实现思路及代码
2013/07/31 Javascript
JavaScript 匿名函数和闭包介绍
2015/04/13 Javascript
浅谈jQuery构造函数分析
2015/05/11 Javascript
JS组件Bootstrap实现下拉菜单效果代码
2016/04/26 Javascript
深入理解(function(){... })();
2016/08/16 Javascript
Javascript json object 与string 相互转换的简单实现
2016/09/27 Javascript
Javascript中作用域的详细介绍
2016/10/06 Javascript
PHP捕捉异常中断的方法
2016/10/24 Javascript
Bootstrap面板学习使用
2017/02/09 Javascript
利用Angular+Angular-Ui实现分页(代码加简单)
2017/03/10 Javascript
Vue axios设置访问基础路径方法
2018/09/19 Javascript
React通过redux-persist持久化数据存储的方法示例
2019/02/14 Javascript
uni-app微信小程序登录授权的实现
2020/05/22 Javascript
[02:40]DOTA2英雄基础教程 炼金术士
2013/12/23 DOTA
[01:48]2018DOTA2亚洲邀请赛主赛事第二日五佳镜头 VG完美团战逆转TNC
2018/04/05 DOTA
Python实现的金山快盘的签到程序
2013/01/17 Python
用python + openpyxl处理excel2007文档思路以及心得
2014/07/14 Python
用Python编写分析Python程序性能的工具的教程
2015/04/01 Python
ubuntu系统下 python链接mysql数据库的方法
2017/01/09 Python
python实现Adapter模式实例代码
2018/02/09 Python
对Python 两大环境管理神器 pyenv 和 virtualenv详解
2018/12/31 Python
爱淘宝:淘宝网购物分享平台
2017/04/28 全球购物
万豪国际住宅与别墅集团:Homes & Villas by Marriott International
2020/10/08 全球购物
幼儿园开学家长寄语
2014/01/19 职场文书
物理力学求职信
2014/02/18 职场文书
成龙霸王洗发水广告词
2014/03/14 职场文书
材料物理专业求职信
2014/09/01 职场文书
2014年综合治理工作总结
2014/11/20 职场文书
2016党员读书思廉心得体会
2016/01/23 职场文书