Python多叉樹的構(gòu)造及取出節(jié)點(diǎn)數(shù)據(jù)(treelib)的方法
項(xiàng)目:
基于Pymysql的專家隨機(jī)抽取系統(tǒng)
引入庫(kù)函數(shù):
>>> import treelib >>> from treelib import Tree, Node
構(gòu)造節(jié)點(diǎn)類:
>>> class Nodex(object): \ def __init__(self, num): \ self.num = num
構(gòu)造多叉樹:(注意節(jié)點(diǎn)的第2個(gè)屬性已標(biāo)紅,它是節(jié)點(diǎn)ID,為str類型,不能與其他節(jié)點(diǎn)重復(fù),否則構(gòu)建節(jié)點(diǎn)失?。?/p>
>>> 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'));\
構(gòu)造結(jié)果:
>>> tree1.show() Root ├── Child1 ├── Child2 └── Child3 >>> tree1.show(data_property = 'num') 3 ├── 4 ├── 5 └── 6
打印節(jié)點(diǎn)信息:(其實(shí)節(jié)點(diǎn)是以字典的形式存儲(chǔ)的)
>>> 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節(jié)點(diǎn)存儲(chǔ)的數(shù)據(jù):
>>> tree1.nodes['child1'].data.num '4'
以上這篇Python多叉樹的構(gòu)造及取出節(jié)點(diǎn)數(shù)據(jù)(treelib)的方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
pycharm 使用心得(九)解決No Python interpreter selected的問題
PyCharm 是由JetBrains打造的一款 Python IDE。具有智能代碼編輯器,能理解 Python 的特性并提供卓越的生產(chǎn)力推進(jìn)工具:自動(dòng)代碼格式化、代碼完成、重構(gòu)、自動(dòng)導(dǎo)入和一鍵代碼導(dǎo)航等。這些功能在先進(jìn)代碼分析程序的支持下,使 PyCharm 成為 Python 專業(yè)開發(fā)人員和剛起步人員使用的有力工具。2014-06-06Python修改文件往指定行插入內(nèi)容的實(shí)例
今天小編就為大家分享一篇Python修改文件往指定行插入內(nèi)容的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-01-01PyQt5實(shí)現(xiàn)五子棋游戲(人機(jī)對(duì)弈)
這篇文章主要為大家詳細(xì)介紹了PyQt5實(shí)現(xiàn)五子棋游戲,人機(jī)對(duì)弈,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-01-01python異常的傳遞知識(shí)點(diǎn)總結(jié)
在本篇文章里小編給大家整理的是一篇關(guān)于python異常的傳遞知識(shí)點(diǎn)總結(jié),有興趣的朋友們可以學(xué)習(xí)下。2021-06-06