2015-10-21 92 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] 
相关问题