zoukankan      html  css  js  c++  java
  • 数据格式-层级关系展示

    import pprint
    
    department_list = [
        {'id': 1, 'label': '总部', 'parent_id': None, "children": []},
        {'id': 2, 'label': '分部', 'parent_id': 1, "children": []},
        {'id': 3, 'label': '部门一', 'parent_id': 2, "children": []},
        {'id': 4, 'label': '部门二', 'parent_id': 2, "children": []},
    ]
    
    department_dict = {}
    for department in department_list:
        department_dict[department["id"]] = department
    
    pprint.pprint(department_dict)
    """
    {1: {'children': [], 'id': 1, 'label': '总部', 'parent_id': None},
     2: {'children': [], 'id': 2, 'label': '分部', 'parent_id': 1},
     3: {'children': [], 'id': 3, 'label': '部门一', 'parent_id': 2},
     4: {'children': [], 'id': 4, 'label': '部门二', 'parent_id': 2}}
    """
    
    department_data = []
    for department in department_list:
        pid = department["parent_id"]
        if pid:
            department_dict["label"] = department['label']
            department_dict[pid]["children"].append(department)
        else:
            department_data.append(department)
    
    
    pprint.pprint(department_data)
    """
    [{'children': [{'children': [{'children': [],
                                  'id': 3,
                                  'label': '部门一',
                                  'parent_id': 2},
                                 {'children': [],
                                  'id': 4,
                                  'label': '部门二',
                                  'parent_id': 2}],
                    'id': 2,
                    'label': '分部',
                    'parent_id': 1}],
      'id': 1,
      'label': '总部',
      'parent_id': None}]
    
    """
    

      

  • 相关阅读:
    centos下nginx的启动
    CentOS7.0安装Nginx 1.7.4
    序员的自我修养
    消息队列 rabbitMQ 的一些操作
    centos linux7的一些操作
    Windows 10 Install rabbitmq-server-3.6.9
    Redis 3.2.100 Windows 32位下载
    Redis配置文件详解
    yii2优化
    mysql中的schema 等价于database,相当于一个数据库
  • 原文地址:https://www.cnblogs.com/fu-yong/p/9907415.html
Copyright © 2011-2022 走看看