Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用“继续跳过”;“双迭代器”;迭代列表中的循环_Python_Itertools - Fatal编程技术网

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

Python 使用“继续跳过”;“双迭代器”;迭代列表中的循环,python,itertools,Python,Itertools,我正在使用itertools循环浏览从列表1和列表2组合而来的2D列表。 我想检查列表1中的每个值是否存在,以及列表2中的每个值,所以它看起来像这样: if(list1[0] == list2[0]) if(list1[0] == list2[1]) if(list1[0] == list2[3]) if(list1[1] == list2[0]) . . . . 如果找到该值,则继续循环,但使用列表1[+1] 所以 我想再次从list[1]开始,跳过list[0]的其余部分,然后再试一次 我

我正在使用itertools循环浏览从列表1和列表2组合而来的2D列表。 我想检查列表1中的每个值是否存在,以及列表2中的每个值,所以它看起来像这样:

if(list1[0] == list2[0])
if(list1[0] == list2[1])
if(list1[0] == list2[3])
if(list1[1] == list2[0])
.
.
.
.
如果找到该值,则继续循环,但使用列表1[+1]

所以

我想再次从
list[1]
开始,跳过
list[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”


这将删除l1中出现的l2中的所有值这听起来像是X/Y问题。实际上,您是否正在尝试在两个列表之间查找公共元素?当然,可以将它们用作两个列表进行比较,也可以像在代码中一样将其中两个列表放在一个列表中进行比较。值不相等。列表1中有一个可能的值,它可能出现在列表2中。由于列表太大,我想检查列表1中的值是否出现在列表2中,以便删除它。我正在做一个比较。那么,为什么不在l1中循环并对l1中的每个元素在l2上使用
.remove()
。这将为您留下l1中未显示的所有元素的列表。请看我更新的帖子“删除”它们只是一个例子,后面还有很多要解释的。移除它们并不是解决方案
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

for x in l1:
    l2.remove(x)