【发布时间】:2020-10-22 17:02:47
【问题描述】:
好的,这是一个递归的打破思维的事情。我有不规则的嵌套列表,如下所示: 代理=['a','b',['c','d','e'],'f',['g',['h','j'],'k'],' l']
感谢递归函数,我想逐级提取项目。这个想法是有一个像这样的输出: 1级:a,b,f,l 2级:c,d,e,g,k 3级:h,j 这些嵌套列表代表 n 叉树。 到目前为止,我尝试过这样的事情:
def extractbylevel(chain):
r=[]
depth=0
for item in chain:
if isinstance(item,str):
r.append((depth,item))
if depth > 0:
depth -=1
else:
depth += 1
r = r+extractbylevel(item)
return r
结果输出为:
[(0, 'a'),
(0, 'b'),
(0, 'c'),
(0, 'd'),
(0, 'e'),
(1, 'f'),
(0, 'g'),
(0, 'h'),
(0, 'j'),
(1, 'k'),
(1, 'l')]
所以问题是深度级别...
递归将让我大吃一惊... ^^ 非常感谢您的帮助!!!!
【问题讨论】:
标签: python recursion tree nested