[英]recursion problem with nested lists in python
我有以下代码:
def flat_list(array):
d=[]
for i in array:
if not isinstance(i, list):
d.append(i)
else:
flat_list(i)
return d
当我调用flat_list([1, [2, 2, 2], 4])
时,我希望它返回解包列表 ([1, 2, 2, 2, 4])。 相反,它返回 ([1, 4])。 虽然,如果我尝试(print i)
而不是(d.append(i))
,它会返回未打包的 i。
我读了一篇关于递归的文章,它说返回需要在基本条件之后。
我如何使用 kindda ( return d.append(i)
)?
你调用你的 function,但是在递归调用它时不要对它的返回值做任何事情
else:
d.extend(flat_list(i))
extend
将从flat_list
返回的列表中获取所有项目,并将它们添加到您在 function 中创建的列表中
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.