2017-03-31 46 views
-4

給定一個整數數組,刪除最小值。不要改變原始數組/列表。如果有多個具有相同值的元素,請刪除索引較低的元素。如果你得到一個空的數組/列表,返回一個空的數組/列表。python列表/數組中的最小數字

不要改變剩下的元素的順序。

remove_smallest([1,2,3,4,5]) = [2,3,4,5] 

remove_smallest([5,3,2,1,4]) = [5,3,2,4] 

remove_smallest([2,2,1,2,1]) = [2,2,2,1] 

這是我的代碼

def remove_smallest(numbers): 
    if numbers == []: 
     raise NotImplementedError("TODO: remove_smallest") 
    numbers = list(numbers) 
    numbers.remove(min(numbers)) 
    return numbers 

我在這個追溯錯誤NotImplementedError("TODO: remove_smallest")

+1

家庭作業? – trincot

+0

如果列表爲空,則不要執行任何操作... –

+0

您的代碼對我來說工作正常。你必須傳遞一個空數組。但是由於您沒有顯示實際發生錯誤的內容,因此您的帖子在解決問題方面做得並不好,我們可以幫助您解決問題。 –

回答

0

我認爲這是你在找什麼。再加上你想要完成的其他錯誤檢查。

def remove_smallest(numbers): 
    if len(numbers) == 0: 
     return numbers 
    lowest = min(numbers) 
    del numbers[numbers.index(lowest)] 
    return numbers