如何高效地查找一个列表中的元素是否在另一个列表中?

8 浏览
0 Comments

如何高效地查找一个列表中的元素是否在另一个列表中?

我想知道list_1中的哪些元素也在list_2中。我需要将输出作为一个有序的布尔值列表。但是我想避免使用for循环,因为这两个列表都有超过200万个元素。

这是我目前的代码,它可以工作,但是速度太慢了:

list_1 = [0,0,1,2,0,0]
list_2 = [1,2,3,4,5,6]
booleans = []
for i in list_1:
   booleans.append(i in list_2)
# booleans = [False, False, True, True, False, False]

我可以将列表分割并使用多线程,但如果可能的话,我更希望有一个更简单的解决方案。我知道一些函数像sum()使用向量操作。我正在寻找类似的解决方案。

如何使我的代码更高效?

0