[英]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.