权限列表(包字典)递归成树状结构
生活随笔
收集整理的這篇文章主要介紹了
权限列表(包字典)递归成树状结构
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
權限列表(包字典)遞歸成樹狀結構
def per_data(permission_list, parent_id):tree = []for per in permission_list:if per['per_moudel_id'] == parent_id:per['children'] = per_data(permission_list, per['per_id'])tree.append(per)return treeif __name__ == '__main__':dict = [{'per_id': 1, 'per_name': '員工關懷', 'per_addr': '無', 'per_moudel_id': None},{'per_id': 2, 'per_name': '智能服務運籌', 'per_addr': '/', 'per_moudel_id': None},{'per_id': 3, 'per_name': '數據中臺', 'per_addr': '/', 'per_moudel_id': None},{'per_id': 4, 'per_name': '結算平臺', 'per_addr': '/', 'per_moudel_id': None},{'per_id': 5, 'per_name': '微信客服統計管理平臺', 'per_addr': '/', 'per_moudel_id': None},{'per_id': 6, 'per_name': 'TV管理平臺', 'per_addr': '/', 'per_moudel_id': None},{'per_id': 7, 'per_name': '權限管理', 'per_addr': '/', 'per_moudel_id': None},{'per_id': 8, 'per_name': '首頁', 'per_addr': '/homePage', 'per_moudel_id': 1},{'per_id': 9, 'per_name': '人員信息管理', 'per_addr': '/', 'per_moudel_id': 1},{'per_id': 10, 'per_name': '指標異常預警', 'per_addr': '無', 'per_moudel_id': 1},]print(per_data(dict, None)) [{'per_id': 1, 'per_name': '員工關懷', 'per_addr': '無', 'per_moudel_id': None, 'children': [{'per_id': 8, 'per_name': '首頁', 'per_addr': '/homePage', 'per_moudel_id': 1, 'children': []}, {'per_id': 9, 'per_name': '人員信息管理', 'per_addr': '/', 'per_moudel_id': 1, 'children': []}, { 'per_id': 10, 'per_name': '指標異常預警', 'per_addr': '無', 'per_moudel_id': 1, 'children': []}, {'per_id': 11, 'per_name': '員工畫像', 'per_addr': '無', 'per_moudel_id': 1, 'children': []}, {'per_id': 12, 'per_name': '效能對比分析', 'per_addr': '/areaChart', 'per_moudel_id': 1, 'children': []}, {'per_id': 13, 'per_name': '設置', 'per_addr': '無', 'per_moudel_id': 1, 'children': []}] }, {'per_id': 2, 'per_name': '智能服務運籌', 'per_addr': '/', 'per_moudel_id': None, 'children': [{'per_id': 14, 'per_name': '服務量預測', 'per_addr': '/costumeDesigner', 'per_moudel_id': 2, 'children': []}, {'per_id': 15, 'per_name': '運營監控中心', 'per_addr': '無', 'per_moudel_id': 2, 'children': []}] }, { 'per_id': 3, 'per_name': '數據中臺', 'per_addr': '/', 'per_moudel_id': None, 'children': [] }, {'per_id': 4, 'per_name': '結算平臺', 'per_addr': '/', 'per_moudel_id': None, 'children': []}, {'per_id': 5, 'per_name': '微信客服統計管理平臺', 'per_addr': '/', 'per_moudel_id': None, 'children': [] }, {'per_id': 6, 'per_name': 'TV管理平臺', 'per_addr': '/', 'per_moudel_id': None, 'children': [] }, {'per_id': 7, 'per_name': '權限管理', 'per_addr': '/', 'per_moudel_id': None, 'children': [] }]總結
以上是生活随笔為你收集整理的权限列表(包字典)递归成树状结构的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 求5阶矩阵其对角线上所有元素之和
- 下一篇: (Matlab问题解决)运行matlab