首页 > 解决方案 > 如何使用另一个列表从一个列表中删除匹配的元素?Python

问题描述

我有一个包含两列的 excel,如下所示:

    A     B
0 apple  cool
1 juice  red
2 red
3 flag
4 cool

我想从 A 中减去 B 并得到结果列表:

    A     
0 apple 
1 juice 
3 flag

我正在尝试在 excel 或 python 中执行此操作。我想知道最好的方法是什么?

非常感谢您的帮助。

标签: pythonexcel

解决方案


这是我对您的问题的理解以及您正在寻找的解决方案。我认为您应该首先弄清楚是否要在python或excel中解决这个问题。假设它是 python 中的列表,如下所示,然后您可以执行该代码。请让我们知道更多详细信息,以便我们具体回答。

方法一

list_a = ["apple", "juice", "red", "flag", "cool"]
list_b = ["red", "cool"]
result = []

for element in list_a:
    if element not in list_b:
        result.append(element)
print(result)

方法二

list_a = ["apple", "juice", "red", "flag", "cool"]
list_b = ["red", "cool"]
result = []

result = list(set(list_a) - set(list_b))
print(result)

方法 1中,我循环遍历元素,list_a并确保我只将元素添加到结果列表中,如果它没有出现在list_b

方法 2中,我基本上在做同样的事情,但我使用的是SET,我在两个列表之间进行了区分。一个集合只允许唯一的值,所以它摆脱了重复。


推荐阅读