variable tree structure
- nestedList1 variable
aa3
|
aa1 aa2 bb1
\ / /
aa bb
\ /
root
- nestedList2 variable
bb4
|
aa3 bb2 bb3
| \ /
aa1 aa2 bb1 cc1
\ / / |
aa bb cc
\ | /
root
nestedList1 = ['root', ['aa', ['aa1', ['aa3'], 'aa2'], 'bb', ['bb1']]]
nestedList2 = ['root', ['aa', ['aa1', ['aa3'], 'aa2'], 'bb', ['bb1', ['bb2', ['bb4'], 'bb3']], 'cc', ['cc1']]]
def ConvertTraverse(nlist, depth=0):
convertlist = []
for leaf in nlist:
if isinstance(leaf, list):
tmplist = ConvertTraverse(leaf, depth+1)
convertlist.insert(0, tmplist)
else:
convertlist += [leaf]
return convertlist
print ConvertTraverse(nestedList1)
print ConvertTraverse(nestedList2)
[[['bb1'], [['aa3'], 'aa1', 'aa2'], 'aa', 'bb'], 'root']
[[['cc1'], [[['bb4'], 'bb2', 'bb3'], 'bb1'], [['aa3'], 'aa1', 'aa2'], 'aa', 'bb', 'cc'], 'root']
我只想要下面的结果。你知道吗
[[[['aa3'], 'aa1', 'aa2'], 'aa', ['bb1'], 'bb'], 'root']
[[[['aa3'], 'aa1', 'aa2'], 'aa', [[['bb4'], 'bb2', 'bb3'], 'bb1'], 'bb', ['cc1'], 'cc'], 'root']
如何得到这样一个嵌套列表? 我想要一个嵌套的列表,按顺序发布遍历。你知道吗
基本上,您需要做什么来重新排列列表:每当第
n
元素是标签,而第n+1
元素是子列表时,交换这两个元素。您可以在几行中就地执行此操作:对于不到位的解决方案,您只需创建列表的深度副本,然后在副本上使用它。你知道吗
我可能有点不对劲,或者完全没有抓住要点,但是我冒着这样的风险,我认为如果你把每个分支都收集到括号里,会更容易些。i、 e.将每个分支写为一个独特的[root,[branch1],[branch2],…]
然后您可以递归地更改顺序,使每个分支离开-1,主干-2。你知道吗
修改后的嵌套列表上的结果:
这就是你要找的吗?你知道吗
寻找哪一个分支更深入的好阴谋是一个不同的主题。你知道吗
相关问题 更多 >
编程相关推荐