python - 比较两个列表并过滤掉重复项

标签 python list compare

也许这只是因为精神疲惫,但我一生都无法弄清楚这一点,即使我在我创建的另一个程序上使用了相同的原理..

我有两个列表:

compare_list = [0,1,1,2,3,3,4,7,5,8,9,9]

master_list = [0,1,2,3,4,8,9]

正如您所看到的,两个列表都包含一些相同的数字,并且在compare_list中您有重复的值。

我想要完成的是比较两个列表,如果在 master_list 中找到它,则从 Compare_list 中删除。

这是我到目前为止的代码:

for x in compare_list:
    for y in master_list:
        if x == y:
            compare_list.remove(x)

结果是我确实从比较列表中删除了一些项目,但仍然留下了一些重复项..

输出:

  print(compare_list)

 [1,3,7,5,9]

我如何才能正确地从 master_list 中删除所有重复项实例。这样compare_list只包含master_list中找不到的数字?

最佳答案

似乎是过滤器的直接用例

>>> compare_list = [0,1,1,2,3,3,4,7,5,8,9,9]
>>> master_list = [0,1,2,3,4,8,9]
>>> filter(lambda i: i not in master_list, compare_list)
[7, 5]

关于python - 比较两个列表并过滤掉重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25410918/

相关文章:

uiimage - 比较两个 UIImages

python - Discord.py 使用 `with sqlite3.connection` 是一个坏主意吗?

python - Python 正则表达式模块使用 BRE 还是 ERE?

python - 如何在 ubuntu 中的 localhost 上运行简单的 cgi-bin python 网站

java比较不同的选项

javascript:如何使用函数式编程比较两个对象数组?

python - python pandas DataFrames中,设置值时自动类型转换的规则是什么?

python - 将值附加到空列表的最佳实践

c# - 如何删除c#列表中的重复项

java - java中的泛型错误