我正在尝试从列表中删除相同的数字。因此,如果我有 1,2,3,4,5,3 并且我告诉它删除 3,它只会删除第一个(使用 .remove)以给我 1,2,4,5,3。我现在知道 .remove 只能删除第一个,所以我的问题是,我还可以使用什么其他方法?我已经尝试过 .pop 和 del 但似乎都没有做到所有这些(尽管我可能做错了)。我本来会制作一个没有重复号码的新列表,但它意味着要通过我的老师司机,所以我不能只是制作一个新列表(或者至少,我假设有任何更简单的方法?)以防万一有帮助,这是到目前为止的代码部分:
def remove_element(self,integer):
self.integer = integer
self.members.remove(integer)
最佳答案
您可以使用内置的过滤器
,并且不必为其编写方法:
>>> l = [1, 2, 3, 4, 5, 3]
>>> filter(lambda f: f != 3, l)
[1, 2, 4, 5]
在上面的代码中,我们定义了一个 lambda 函数 lambda f: f != 3
,它测试列表中的元素是否为 3。在您的情况下,您可以使用 self.integer
来替换 3
。
如果您不熟悉 lambda 函数,lambda f: f != 3
相当于函数 foo
:
>>> def foo(f):
... return f != 3
关于python - 尝试在Python中删除相同数字的倍数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18937203/