首页 > 解决方案 > 如何扫描一个大列表以查找所有元素是否与第二个较小列表的元素匹配?

问题描述

我很难解决一个我认为很简单的问题。我有两个清单:

  1. 一个很小的,看起来像这样:
list1 = ['A', 'B', 'C', 'D','E']
  1. 第二个列表要大得多,大约有 800 个元素。它看起来像这样:
list2 = ['E', 'B', 'F', 'A', 'C', 'N'...]

我想扫描 list2 并查看它的所有元素是否与 list1 中的元素相同。如果它们不同,我想查看哪些元素不同并从 list2 中取消它们。在此示例中,我想从 list2 打印“F”和“N”并取消它们。

我试过了:

found = False
lenght2 = len(list2)
i = 0
for j in list1:
  for i in range(0, lenght2):
     if i != j:
        found = True
        #I don't know how to cancel i
        print(i)
        i = i + 1
     break

然而,整个事情都行不通。有没有人可以帮助我?

标签: pythonlistboolean

解决方案


您可以遍历所有 list2 然后检查它是否在列表一中,如下所示:

for i in range(len(list2)):
  if list2[i] in list1:
    pass
  else:
    #Cancel list2[i] ? Or whatever.

推荐阅读