Skip to main content
 首页 » 编程设计

查找未包含在另一个 python 列表中的 python 列表元素的 Pythonic 方法

2025年05月04日11unruledboy

我正在努力为我现在所拥有的找到一个更快的解决方案。我的问题包括创建一个从其他 2 个列表派生的 python 列表。 List_a 有很多元素,list_b 有更多元素,有些元素与 list_a 相同。

这是我的:

list_a = [a huge python list with over 100,000 elements ] 
list_b = [a huge python list with over 1,000,00 elements] 

我的解决方案:

list_c = [] 
for item in list_a: 
    if item not in list_b: 
        list_c.append(item) 

它可以工作,但是速度非常非常慢。有没有办法更快地解决这个问题?

请您参考如下方法:

你可以使用列表理解

list_c = [item for item in list_a if item not in list_b] 

但为了性能,请注意 in 操作对于 set 比 list 更快,因此您可能需要先添加一个步骤

set_b = set(list_b) 
list_c = [item for item in list_a if item not in set_b]