欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Python 入门之 递归

程序员文章站 2022-04-14 21:59:07
Python 入门之 递归 1、递归: 递:一直传参 归:返回 (1)不断调用自己本身(无效递归 死递归) (2)有明确的终止条件 递归的最大深度(层次) 官方说明1000 实际测试998/997 ......

python 入门之 递归

1、递归:

递:一直传参

归:返回

(1)不断调用自己本身(无效递归 -- 死递归)

    def func():
        print(1)
        func()
    func()

(2)有明确的终止条件

递归的最大深度(层次) 官方说明1000 实际测试998/997

递归的应用场景:
meet = [["北京",["alex","wusir","太白金星","闫龙","景女神",["邢姨",["肖帮主","吴老板",["张晓波","王胜辉"]]]]],
        ["上海",["林海峰"],],
        ["深圳",["日天"]]]

for i in meet:
    if type(i) == list:
        for em in i:
            if type(em) == list:
                for j in em:

在列表中嵌套列表,循环输出列表中的每个元素时,多层for循环嵌套,不但麻烦,而且如果在列表中添加新元素时,就得重新编写代码。
此时,可用递归的方法解决上述问题。

meet = [["北京",["alex","wusir","太白金星","闫龙","景女神",["邢姨",["肖帮主","吴老板",["张晓波","王胜辉"]]]]],
        ["上海",["林海峰"],],
        ["深圳",["日天"]]]
        
def func(m):
    for i in m:
        if type(i) == list:
            func(i)
        else:
            print(i)
func(meet)