我想编写一个从列表中删除某个整数的函数。两个值都是输入的。例如,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 :(得分:2)
def removeValues(aList, n):
return [ i for i in aList if i != n ]
答案 1 :(得分:0)
list(filter(lambda x : x != 3, [1,2,3]))
使用过滤器,过滤器获取函数引用和元素列表。编写该函数以接受列表元素,并根据所需的谓词(如x != 3
)返回true或false。对于每个元素,函数检查谓词,并且只有当条件返回True时,元素才包含在输出列表中。
如评论中所述,列表上的简单删除将完成这项工作。
答案 2 :(得分: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]