Python 递归函数中的平面列表函数
我试图写一个函数,得到一个列表,然后返回一个平坦的列表, 比如说Python 递归函数中的平面列表函数,python,recursion,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.
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)]]
你能帮我找出错误吗 可能是重复的哦谢谢我没看到这个。我会删除它。