我正在努力为我现在所拥有的找到一个更快的解决方案。我的问题包括创建一个从其他 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]
