2015-10-21 72 views
0

我想編寫一個將從列表中刪除某個整數的函數。這兩個值都是輸入的。例如,removeValues([1, 2, 3], 3)將返回列表[1, 2]從列表中刪除整數(來自用戶的輸入)

def removeValues(aList, n): 
    newList = [] 
    if n in aList: 
     aList.remove(n) 

     newList.append(aList) 
    else: 
     return False 

我不知道,如果.remove是正確的道路要走。

+0

但是已經有一個方法'list.remove '爲此... – wim

+0

爲什麼你將你的列表追加到另一個列表中? ''[[1,2]]'只要將它刪除,然後砰! '[1,2]' – Onilol

+1

*「我不確定是否.remove是正確的路要走」 - - 你測試過它嗎?它有用嗎? – jonrsharpe

回答

0
list(filter(lambda x : x != 3, [1,2,3])) 

使用過濾器,過濾器需要函數引用和元素列表。該函數被編寫爲接受列表元素,並根據所需的謂詞(如x != 3)返回true或false。對於函數檢查謂詞的每個元素,只有當條件返回True時,元素才包含在輸出列表中。

正如在評論中所說,一個簡單的刪除名單將完成這項工作。

+0

這行代碼適合哪個函數?函數定義後的第一行? – wahlysadventures

+0

這是您的功能的完全替代 – saikumarm

0

將從列表中刪除特定值的所有事件的函數可以寫像這樣:

>>> def removeAll(list, value): 
...  while value in list: 
...   list.remove(value) 
... 
>>> a = [1,2,3,3,4] 
>>> removeAll(a, 3) 
>>> print(a) 
[1,2,4] 
相關問題