从列表中删除整数(来自用户的输入)

时间:2015-10-21 16:51:02

标签: python

我想编写一个从列表中删除某个整数的函数。两个值都是输入的。例如,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是否是正确的方法。

3 个答案:

答案 0 :(得分:2)

使用list comprehension

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]