博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
django-树形结构
阅读量:4487 次
发布时间:2019-06-08

本文共 1294 字,大约阅读时间需要 4 分钟。

 

树形结构:首先是构造一种层级关系,主要用于层级菜单,或是一种递进的情况. 例:下面是一种层级关系,Pid字段后面的数字,指定的就是id数字的子层级.Pid等于None是根目录. comment_list=[    {
"id":1,"content":"...","Pid":None,"children_comments":[]}, {
"id":2,"content":"...","Pid":None,"children_comments":[]}, {
"id":3,"content":"...","Pid":None,"children_comments":[]}, {
"id":4,"content":"...","Pid":1,"children_comments":[]}, {
"id":5,"content":"...","Pid":1,"children_comments":[]}, {
"id":6,"content":"...","Pid":4,"children_comments":[]}, {
"id":7,"content":"...","Pid":3,"children_comments":[]}, {
"id":8,"content":"...","Pid":7,"children_comments":[]}, {
"id":9,"content":"...","Pid":None,"children_comments":[]},]
首先把他们变成键值对,放在字典里.comment_dict={}    for i in comment_list:    comment_list[i["id"]]=i   #comment_dict的值就变成 ={1:{
"id":1,"content":"...","Pid":None,"children_comments":[]},2:{ "id":2,"content":"...","Pid":None,"children_comments":[]}...} ret=[] for comment in comment_list:   pid=comment['Pid']   if pid: #当pid字段不为空     comment_dict[pid]['children_comments'].append(comment) #pid值不为空,就是别人的子集,所以添加到相应父级的children_comments下.   else:     ret.append(comment)          #把一些不要的数据取出来, 树形结构,利用的就是可变类型结构. 字典和列表类型,当你赋值给一个变量后,当在别的时候变化,他原来的代码也会跟着改变.
 

 

 

 

转载于:https://www.cnblogs.com/52forjie/p/7906732.html

你可能感兴趣的文章
创建django项目
查看>>
Linux Bash基本功能
查看>>
一则小脚本(工作中用)
查看>>
软件工程结对作业
查看>>
Keil 4.0 生成bin文件
查看>>
sql语句的进化--hibernate篇
查看>>
python爬虫之cookie
查看>>
2017年5月29号课堂笔记
查看>>
HDU4247【瞎搞】
查看>>
lightoj 1125【背包·从n个选m个】
查看>>
HDU 1243 反恐训练营(最长公共序列)
查看>>
mysql数据库隔离级别
查看>>
(六)buildroot使用详解
查看>>
chrome修改UserAgent,调试
查看>>
Source Insight4.0 试用。。试用。。试用。。
查看>>
python循环for,range,xrange;while
查看>>
hadoop的节点间的通信
查看>>
论如何制做一个工程APP的测试内容
查看>>
Django系列(一)
查看>>
第二类斯特林数
查看>>