使用继续跳过迭代列表中的“双重迭代器”循环

时间:2019-07-23 14:33:21

标签: python itertools

我正在循环浏览由itertools组合的list1和list2的2D列表。 我想检查list1中是否存在与list2中的每个值对应的每个值,因此它看起来像这样:

if(list1[0] == list2[0])
if(list1[0] == list2[1])
if(list1[0] == list2[3])
if(list1[1] == list2[0])
.
.
.
.

如果找到该值,则继续循环,但使用list1 [+1]。

所以

if list1[0] == list2[3] = True

我想从list[1]开始重新尝试,并跳过list1[0]的其余比较。

我试图解释最好的,也许代码可以帮助您理解。

import itertools


list1 = ["value1","value2","value3","value4"]
list2 = ["value5","value6","value1","value8"]


mylist = list(itertools.product(list1, list2))


for a,b in mylist:
    if (a == b):
       print ("Found word " + str(a) + " in list2)
       continue

因此,现在,在找到它之后,需要继续循环,但要使用[[+1]]。 但是它可以在“经典”循环中工作,但是我正在使用2D循环。 基本上,我想再次将“ a”与“ b”进行比较。

1 个答案:

答案 0 :(得分:1)

for x in l1:
    l2.remove(x)

这将从l2中删除出现在l1中的所有值