python - 尝试在Python中删除相同数字的倍数

标签 python list class

我正在尝试从列表中删除相同的数字。因此,如果我有 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/

相关文章:

python - 在 sklearn.metrics.plot_confusion_matrix 中抑制科学记数法

python - 在python中将变量(字母和数字)组合成一个问题

list - 如何自动创建 LaTeX 文档中使用的项目列表?

c++ - 类名没有命名类型 C++

c++ - 实现二进制搜索树时对类的怀疑

python - 我是否正确组织了我的 Django 应用程序?

Python 查找所有匹配的子字符串模式并替换子字符串

c# 从父类访问子类

python - 列表中列表的随机播放功能

objective-c - 在@interface 中声明一个ivar 和在@implementation 中放置变量之间的区别