1. 程式人生 > >python遞歸評論tree形圖代碼

python遞歸評論tree形圖代碼

def ima alt inf OS __main__ nbsp log 記錄

首先我有必要記錄下來這段代碼,因為我遇到了這個問題, 然後沒有解決

後來, 前段說我找到一段代碼給我看看, 我並沒有在意, 然後她實現了, 她實現了,她真的實現了, 我。。。

為了感謝她,我陪她玩了一中午的五子棋, 並假裝輸了幾把

先說目的:

    遞歸叠代

再看數據:

  其實有個前提, 就是aid不能重復

  fid是父級id, 指向的aid

  如果 aid == fid , 證明fid的那個aid是子集

  如果 fid == 0 就證明是頂級

技術分享圖片

代碼:

def aaa(oldArr, fid):

    newArr = []
    
for i in oldArr: if i["fid"] == fid: obj = {"aid": i["aid"], "description": i["description"]} child = aaa(oldArr, i["aid"]) if len(child) > 0: obj["child"] = child newArr.append(obj) return newArr if __name__ ==
__main__: li = [ {"aid": 5, "fid": 1, "description": "職業價值觀4", "vid": 1, "variableName": "標準系數"}, {"aid": 1, "fid": 3, "description": "職業價值觀1", "vid": 1}, {"aid": 4, "fid": 3, "description": "職業價值觀2", "vid": 2}, {"aid": 7, "fid": 3, "description": "職業價值觀3"
, "vid": 3}, {"aid": 2, "fid": 0, "description": "教育", "vid": 4}, {"aid": 3, "fid": 0, "description": "時間", "vid": 5}, ] res = {"dirname": "", "child_dirs": [], "files": []} print(aaa(li, 0))

python遞歸評論tree形圖代碼