【发布时间】:2020-01-04 16:58:55
【问题描述】:
我正在开发一个程序,其中我们有一个包含大量无关嵌套的特定列表,我们希望对其进行简化。
例如,一个输入可以是
[[['A', [[[[[[[[[['B', [[[[[[[[[['C', [[[[[[[[[['D']], [['E']], [['F', [[[[[[[[[['G']]]]]]]]]]]], [['H']], [['I']], [['J']]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
它应该输出
['A', ['B', ['C', [['D'], ['E'], ['F', ['G']], ['H'], ['I'], ['J']]]]]
但是,在运行我的代码后,它什么也没做并返回[]。
这是我的代码:
def clean_list(list2):
for item in list2:
if isinstance(item, list) and len(list2)==1: # this is an extraneous list!
item = clean_list(item)
list2.append(item[0].copy())
list2.remove(item)
return list2
【问题讨论】:
-
@shaikmoed 不,它不是重复的。我不希望它变平,只是删除了任意嵌套
标签: python arrays list recursion tree