首页 > 其他 > 详细

简单无限递归菜单

时间:2019-11-07 23:29:00      阅读:97      评论:0      收藏:0      [点我收藏+]

res_list = [ {cat_id:1,name:北京,parent_id:0}, {cat_id:2,name:杭州,parent_id:0}, {cat_id:3,name:海淀区,parent_id:1}, {cat_id:4,name:海淀xx小区,parent_id:3}, {cat_id:6,name:西湖区,parent_id:2}, {cat_id:7,name:三墩,parent_id:6}, ]   
  # 创建列表,存放结果 res
= []   
  
def get_tree(data, level=0, parent_id=0, is_clear=True):     
    # 若每次重新调用该方法,则清空列表内上次存放的结果
  
if is_clear: res.clear()      # 循环匹配 for item in data: if item.get(parent_id) == parent_id:
          # 用于记录当前记录的层级 item[
level] = level
          # 将结果加入列表 res.append(item)
          # 递归调用函数,继续执行,直到匹配完所有结果 get_tree(data, level
=level+1, parent_id=item.get(cat_id), is_clear=False) return res get_tree(res_list)
  
 
  # 打印查看效果
print(res) for r in res: print(-*r.get(level)+r.get(name))

 

简单无限递归菜单

原文:https://www.cnblogs.com/hellozizi/p/11816043.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!