当前位置:Gxlcms > 数据库问题 > 使用 python 遍历出数据库中三级菜单

使用 python 遍历出数据库中三级菜单

时间:2021-07-01 10:21:17 帮助过:32人阅读

"id":1,"menu_name":"菜单1","pid":0}, {"id":2,"menu_name":"菜单1-1","pid":1}, {"id":3,"menu_name":"菜单1-2","pid":1}, {"id":4,"menu_name":"菜单1-3","pid":1}, {"id":5,"menu_name":"菜单1-1-1","pid":2}, {"id":6,"menu_name":"菜单1-1-2","pid":2}, {"id":7,"menu_name":"菜单2","pid":0}, {"id":8,"menu_name":"菜单2-1","pid":7}, {"id":9,"menu_name":"菜单2-2","pid":7}, {"id":10,"menu_name":"菜单2-3","pid":7}, {"id":11,"menu_name":"菜单2-1-1","pid":8}, {"id":12,"menu_name":"菜单2-1-2","pid":8}, {"id":13,"menu_name":"菜单2-2-1","pid":9}, {"id":14,"menu_name":"菜单2-3-1","pid":10}, {"id":15,"menu_name":"菜单2-3-2","pid":10}, {"id":16,"menu_name":"菜单2-3-3","pid":10}, {"id":17,"menu_name":"菜单2-3-4","pid":10} ] def get_menu(a): dic_test={} for tcc in a: if(tcc["pid"]==0): dic_test[tcc["menu_name"]]={"id":tcc["id"],"child":[]} for i in dic_test: index1=dic_test[i]["id"] menu_name1=i for j in a: if(j["pid"]==index1): dic_test[menu_name1]["child"].append({j["menu_name"]:{"id":j["id"],"child":[]}}) if(dic_test[menu_name1]["child"]): for indexc,k in enumerate(dic_test[menu_name1]["child"]): for l in a: for x,b in k.items(): if(b["id"]==l["pid"]): dic_test[menu_name1]["child"][int(indexc)][x]["child"].append({l["menu_name"]:{"id":l["id"],"child":[]}}) return dic_test print(get_menu(a)) #输出 ‘‘‘ { 菜单1: { id: 1, child: [{ 菜单1-1: { id: 2, child: [{ 菜单1-1-1: { id: 5, child: [] } }, { 菜单1-1-2: { id: 6, child: [] } }] } }, { 菜单1-2: { id: 3, child: [] } }, { 菜单1-3: { id: 4, child: [] } }] }, 菜单2: { id: 7, child: [{ 菜单2-1: { id: 8, child: [{ 菜单2-1-1: { id: 11, child: [] } }, { 菜单2-1-2: { id: 12, child: [] } }] } }, { 菜单2-2: { id: 9, child: [{ 菜单2-2-1: { id: 13, child: [] } }] } }, { 菜单2-3: { id: 10, child: [{ 菜单2-3-1: { id: 14, child: [] } }, { 菜单2-3-2: { id: 15, child: [] } }, { 菜单2-3-3: { id: 16, child: [] } }, { 菜单2-3-4: { id: 17, child: [] } }] } }] } } ‘‘‘

 

 

 

 

 

 

使用 python 遍历出数据库中三级菜单

标签:pre   python   rate   turn   enumerate   pen   遍历   play   def   

人气教程排行