簡體   English   中英

python 中嵌套列表的遞歸問題

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM