zoukankan      html  css  js  c++  java
  • 博客园-评论树

     

    评论数据的处理

    我们可以取到的评论数据形式

    复制代码
    comment_list=[
    
        {"id":1,"content":"111","Pid":None},
        {"id":2,"content":"222","Pid":None},
        {"id":3,"content":"333","Pid":None},
        {"id":4,"content":"444","Pid":1},
        {"id":5,"content":"555","Pid":1},
        {"id":6,"content":"666","Pid":4},
        {"id":7,"content":"777","Pid":3},
        {"id":8,"content":"888","Pid":7},
        {"id":9,"content":"999","Pid":None},
    
    ]
    复制代码

    首先,给每条数据添加一个children_list(空列表)

    for i in comment_list:
        i["children_list"] = []

    得到新的列表

    复制代码
    comment_list = [
        {'id': 1, 'content': '111', 'Pid': None, 'children_list': []},
        {'id': 2, 'content': '222', 'Pid': None, 'children_list': []},
        {'id': 3, 'content': '333', 'Pid': None, 'children_list': []},
        {'id': 4, 'content': '444', 'Pid': 1, 'children_list': []},
        {'id': 5, 'content': '555', 'Pid': 1, 'children_list': []},
        {'id': 6, 'content': '666', 'Pid': 4, 'children_list': []},
        {'id': 7, 'content': '777', 'Pid': 3, 'children_list': []},
        {'id': 8, 'content': '888', 'Pid': 7, 'children_list': []},
        {'id': 9, 'content': '999', 'Pid': None, 'children_list': []}
    ]
    复制代码

    然后通过变量引用的方法将子评论的内容加到对应的跟评论中

    复制代码
    ret = []
    for i in comment_list:
        if i["Pid"]:
            for j in comment_list:
                if j["id"] == i["Pid"]:
                    j["children_list"].append(i)
        else:
            ret.append(i)
    复制代码

    得到了我们需要的结果ret

    复制代码
    ret = [
        {'id': 1, 'content': '111', 'Pid': None, 'children_list': [{'id': 4, 'content': '444', 'Pid': 1, 'children_list': [{'id': 6, 'content': '666', 'Pid': 4, 'children_list': []}]}, {'id': 5, 'content': '555', 'Pid': 1, 'children_list': []}]},
        {'id': 2, 'content': '222', 'Pid': None, 'children_list': []},
        {'id': 3, 'content': '333', 'Pid': None, 'children_list': [{'id': 7, 'content': '777', 'Pid': 3, 'children_list': [{'id': 8, 'content': '888', 'Pid': 7, 'children_list': []}]}]},
        {'id': 9, 'content': '999', 'Pid': None, 'children_list': []}
    ]
    
    # 结论:一旦某个数据引用了一个可变数据类型,这个可变数据类型发生变化,则这个数据也会发生变化
  • 相关阅读:
    使用图形化技术完成电子相册程序的开发
    本周新学的 GUI绘图技术
    不如今日来说 有关StringBufferr类和字符串格式化的内容~
    PHP的身份证号码工具类
    在网页中嵌入带标识的百度地图
    PHP正则表达式使用详解
    Spicy Chicken GDI in C#
    [C++] Running time and Integer to String
    the difference between const int *, int * const, int const *
    [C# WPF]MoeEroViewer Developing Log
  • 原文地址:https://www.cnblogs.com/QQ279366/p/8488532.html
Copyright © 2011-2022 走看看