【发布时间】:2014-04-09 18:33:03
【问题描述】:
您好,我有一个像这样的列表(在 Python 3 中):
lista=[ ['a','b','c','d'],['b','f','g'],['c','h','i'],['d'],['h'],['i'],['f'],['g']]
我正在尝试将它翻译成这样的嵌套列表
['a',['b',['f'],['g']],['c',['h'],['i']],['d']]]
就像这棵树:
a
/ | \
b c d
/\ /\
f g h i
我想用这样的生成器
listb = [ lista[0][0]] + [x for x in lista[1:] ]
但我不知道如何递归地遍历整个列表。 谢谢!
【问题讨论】:
-
listb=[lista[0][0]]+[x for x in lista[1:]]不是生成器,它只是一个列表理解 -
您确定需要这个嵌套列表吗?对于此类任务,dict 似乎比嵌套列表更好的类型
标签: python list recursion tree generator