如何使用递归在函数中保存列表

时间:2019-01-15 14:41:05

标签: python nested-lists

我编写了一个函数,该函数使用嵌套列表对列表进行展平,但是在如何将元素保存到函数中的列表中时,我遇到了一些问题。让我演示一下问题所在,这里是函数:

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”作为参数,也就是说,我希望它是一个变量。

任何想法或建议都将不胜感激。 :)

0 个答案:

没有答案