python - 如何使用另一个列表从一个列表中删除匹配的元素?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 中执行此操作。我想知道最好的方法是什么?
非常感谢您的帮助。
解决方案
这是我对您的问题的理解以及您正在寻找的解决方案。我认为您应该首先弄清楚是否要在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,我在两个列表之间进行了区分。一个集合只允许唯一的值,所以它摆脱了重复。