A 有一个真正的问题(并且很头疼)的作业......
我正在上一门介绍性编程类(class),我必须编写一个函数,给定一个列表,它将返回它所达到的“最大”深度... 例如:[1,2,3] 将返回 1,[1,[2,3]] 将返回 2...
我已经写了这段代码(这是我能得到的最好的T_T)
def flat(l):
count=0
for item in l:
if isinstance(item,list):
count+= flat(item)
return count+1
但是,它显然不能正常工作,因为如果有列表不计入最大深度,它仍然会提高计数器...
例如:当我使用带有 [1,2,[3,4],5,[6],7] 的函数时,它应该返回 2,但它返回 3...
任何想法或帮助将不胜感激^^非常感谢!我已经为此苦苦挣扎了好几个星期了...
最佳答案
这是编写函数的一种方式
depth = lambda L: isinstance(L, list) and max(map(depth, L))+1
我认为您缺少的想法是使用 max()
关于python - 计算深度或嵌套列表的最深级别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6039103/