簡體   English   中英

使用遞歸消除重復項

[英]using recursion to eliminate duplicates

我才剛剛開始學習遞歸的工作原理,而我一直陷於我認為應該是一個簡單問題的問題。 我需要使用遞歸創建一個函數,該函數接受一個列表並返回一個新列表,該列表僅包含原始列表中每個值的1個。

示例:original_list = [1,1,2,3,3,4,5] return_list = [1,2,3,4,5]

我嘗試過的

def recursion(list1):
    new_list = []
    if list1 == []:
       new_list = []
    else:
       if list1[0] not in list1[1:]:
          new_list = new_list.append(list1[0]) + recursion (list1[1:])
       else:
          new_list = recursion (list1[1:])
    return new_list

您沒有將new_list作為參數傳遞給遞歸函數。 因此,遞歸的每個級別都不知道您到目前為止收集到的結果,並且遞歸的結果只是第一級的結果。

(我避免發布已更正的代碼,因為您大概想自己修復它,從而了解更多信息-如果您需要更多提示,請告訴我。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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