Py学习  »  Python

python使用递归查找列表的深度

Jerry Thomas • 3 年前 • 1183 次点击  

我需要使用递归找到列表的深度,但我不能使用全局变量或有多个参数。这是我的代码,但我得到了一个错误,我不能调用深度,因为我不能使用全局变量,当我在函数内部调用它时,当递归发生时,它只是重置变量

def how_deep(list_of_lists):
    for i in list_of_lists:
        if type(i) == list:
            how_deep(i)
            depth += 1
        else:
            print(depth)


if __name__ == '__main__':
    print(how_deep([[[], [], [], [[[]]]], []],))
    print(how_deep([]))
    print(how_deep([[], []]))
    print(how_deep([[[]], [], [[]], [[[]]]]))
    print(how_deep([[[[], [[]], [[[]]], [[[[]]]]]]]))
    print(how_deep([[[], []], [], [[], []]]))
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/130027
 
1183 次点击  
文章 [ 1 ]  |  最新文章 3 年前