zoukankan      html  css  js  c++  java
  • python学习笔记(递归函数)

    博主看了看递归、说的简单点就是程序里面再调用程序本身,或者是方法里面再调研方法本身、或者是函数里面再调研函数本身

    用于什么场景呢,博主这里是父子节点排序,父子节点的查询

    直接上代码:

     1 #!/usr/bin/env python
     2 # -*- coding: utf-8 -*-
     3 
     4 raw = [{"id": "1", "name": "A", "group_id": 0},
     5        {"id": "2", "name": "B", "group_id": 0},
     6        {"id": "1-1", "name": "A1", "group_id": "1"},
     7        {"id": "3", "name": "C", "group_id": 0},
     8        {"id": "2-1", "name": "B1", "group_id": "2"}]
     9 
    10 new = []
    11 
    12 
    13 def get_data(n):
    14     for r in raw:
    15         if r["group_id"] == n:
    16             r_id = r["id"]
    17             new.append(r)
    18             get_data(r_id)
    19     return new
    20 
    21 print get_data(0)

    这里是一个列表、列表有五个字典,group_id来划分节点关系

    本身是乱序的,通过递归实现了父子节点的排序,打印的内容如下:

    1 [{'group_id': 0, 'id': '1', 'name': 'A'}, {'group_id': '1', 'id': '1-1', 'name': 'A1'}, {'group_id': 0, 'id': '2', 'name': 'B'}, {'group_id': '2', 'id': '2-1', 'name': 'B1'}, {'group_id': 0, 'id': '3', 'name': 'C'}]

    同样可以用于数据库的查询,先把所有的数据查询出来,通过递归来排序即可

  • 相关阅读:
    Django-admin管理工具
    docker-ce安装与搭建私有仓库
    docker-建立私有registry
    UBUNTU 下设置全局 path变量
    REDIS学习(1)环境搭建
    mongodb学习(1) 第一次开启 mongdb
    linux 添加 $path
    php cgi 与 cli 区别
    mysql 分区信息查看
    php 编译安装选项
  • 原文地址:https://www.cnblogs.com/cllovewxq/p/6016612.html
Copyright © 2011-2022 走看看