一行 Python 代碼搞定一棵樹

使用 Python 內建的 defaultdict 方法能夠輕鬆定義一個樹的數據結構。html

簡單的說樹也能夠是一個字典數據結構python

這就是所有,就一行代碼。git

若是你繼續下面的代碼,須要先引入github

實例json

JSON-esque數據結構

如今咱們建立一個 JSON-esque 嵌套字典無需顯式的建立子字典:spa


而後可經過 <code>print(json.dumps(users))</code> 來打印 JSON 數據,結果以下:

無需賦值

 

咱們不須要經過賦值就能夠建立結構:code

要打印有好的信息,須要轉成標準的字典對象:htm

如今可經過 pprint(dicts(taxonomy)) 進行打印了:對象

子結構也被看成是字典對象了,而葉子節點是一個空的字典對象

迭代

能夠使用有趣的方法對樹進行迭代。

例如咱們解析一個動物的列表並添加到以前定義的 taxonomy 中,咱們能夠使用以下代碼:

簡化實現:

咱們仍然無需賦值:

結論

上面說起的這些可能用處不大,只是作了一些有意思的代碼。

若是你喜歡 Python 的話,把這個當成是樂趣來理解。