递归中的平面列表函数

时间:2016-01-30 13:52:15

标签: python recursion

我正在尝试编写一个获取列表的函数,并返回一个展平的函数, 例如

a=[1,2,[3,5,(2,3)]]
print(flat(a))
[1,2,3,5,(2,3)]

我写了这个:

def flat(lst,res=[]):
    if len(lst)==0:
        return res
    else:
        for element in lst:
            if isinstance(element,list):
                res.append(flat(element))
            res.append(element)
    return res

但我的输出是:

[1, 2, 3, 5, (2, 3), [...], [3, 5, (2, 3)]]
你可以帮我发现错误吗?

0 个答案:

没有答案