码迷,mamicode.com
首页 > 编程语言 > 详细

python递归评论tree形图代码

时间:2018-03-16 15:39:29      阅读:188      评论:0      收藏:0      [点我收藏+]

标签:价值   desc   价值观   append   解决   时间   没有   递归   obj   

首先我有必要记录下来这段代码,因为我遇到了这个问题, 然后没有解决

后来, 前段说我找到一段代码给我看看, 我并没有在意, 然后她实现了, 她实现了,她真的实现了, 我。。。

为了感谢她,我陪她玩了一中午的五子棋, 并假装输了几把

 

 

先说目的:

    递归迭代

再看数据:

  其实有个前提, 就是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形图代码

标签:价值   desc   价值观   append   解决   时间   没有   递归   obj   

原文地址:https://www.cnblogs.com/renfanzi/p/8580585.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!