我编写了一个函数,该函数使用嵌套列表对列表进行展平,但是在如何将元素保存到函数中的列表中时,我遇到了一些问题。让我演示一下问题所在,这里是函数:
new_list = []
def flatten_list(old_list):
for i in old_list:
if isinstance(i,list):
flatten_list(i)
else:
new_list.append(i)
return new_list
输入:
flatten_list(['a', 1, ['b', ['c'], 2], 'd', 3])
输出:
['a', 1, 'b', 'c', 2, 'd', 3]
它应该做的是将给定列表弄平。但是,我希望“ new_list”位于函数内部。如何更改函数,以便可以将“ new_list”保留在函数内部而不是保留在函数外部?另外,我不希望在函数中不使用“ new_list”作为参数,也就是说,我希望它是一个变量。
任何想法或建议都将不胜感激。 :)