class node:
def __init__(self, parent, name):
self.parent = parent
self.name = name
# 建立乙個根節點物件
root = node(none, "root")
# 根節點下有 三個子節點
node1 = node(root, "node1")
node2 = node(root, "node2")
node3 = node(root, "node3")
# node1 下有2個節點 node11 和 node12
node11 = node(node1, "node11")
node12 = node(node1, "node12")
# node2 下有3個節點 node21 node22 和 node23
node21 = node(node2, "node21")
node22 = node(node2, "node22")
node23 = node(node2, "node23")
# node23 下有1個節點 node231
node231 = node(node23, "node231")
# node231 下有2個節點 node2311 node2312
node2311 = node(node231, "node2311")
node2312 = node(node231, "node2312")
## ......
node_list = [root, node1, node2, node3, node11, node12, node21, node22, node23, node231, node2311, node2312]
def build_tree(nodes, parent):
"""從某個節點開始構建其樹列表的 dict 結構
:param nodes: 被查詢的節點列表 可理解為整個樹結構中所有的節點列表
:param parent: 當前節點的父節點
:return:
"""# 建立 node_list 用來記錄該節點下的所有(直接和間接)節點列表
# 在不存在 merge 的情況下,刪除該節點時,該列表中的節點應該被全部刪除
node_list = list()
# create empty tree to fill
tree = dict()
# 遞迴構建
build_tree_recursive(tree, parent, nodes, node_list)
return tree, node_list
def build_tree_recursive(tree, parent, nodes, node_list):
"""遞迴構建的過程
:param tree:
:param parent: 遞迴過程中當前的父節點
:param nodes:
:param node_list: 該節點下的所有直接和間接列表
將列表轉換為字典 Python3
方法一 利用zip 函式,將兩個列表轉為乙個字典 list1 heather quincy sea list2 beautiful hansome energetic dict dict zip list1,list2 zip 函式返回乙個可迭代物件,dict 將其轉為字典 print dict 方...
Python將兩個列表轉換為字典
現有2個列表 keys name age food values monty 42,spam 需要將轉換為字典,結果如下 a dict 那麼最簡單的方法是什麼呢?最開始,我是想用2層for迴圈實現,但是發現太麻煩了。最簡單的方法,使用zip 函式即可。zip 函式用於將可迭代的物件作為引數,將物件中...
Python 字典轉換為列表
說明 列表不可以轉換為字典 轉換後的列表為無序列表 a 字典中的key轉換為列表 key value list a.keys print 字典中的key轉換為列表 key value 字典中的value轉換為列表 value list list a.values print 字典中的value轉換為...