Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/295.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.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
删除单独列表中的项目时,For循环停止-Python_Python_Loops_For Loop - Fatal编程技术网

删除单独列表中的项目时,For循环停止-Python

删除单独列表中的项目时,For循环停止-Python,python,loops,for-loop,Python,Loops,For Loop,我正在学习Python,并且发现由于某种原因,我的for循环将停止,即使有更多的“循环”要去 只有当我从列表中删除一个项目时才会发生这种情况。如果删除被注释掉,它会工作:打印“运行列表”两次,它会检查列表中的2项和2项。如果一个项目被删除,它将打印一次,并且只检查一个项目,而不是另外两个项目。这两次控制台都没有错误 当原始列表不受影响时,它将使用独立列表变量停止:indendent\u list=looping\u list。也可以使用list.remove(x),list.pop(x)和del

我正在学习Python,并且发现由于某种原因,我的for循环将停止,即使有更多的“循环”要去

只有当我从列表中删除一个项目时才会发生这种情况。如果删除被注释掉,它会工作:打印“运行列表”两次,它会检查列表中的2项和2项。如果一个项目被删除,它将打印一次,并且只检查一个项目,而不是另外两个项目。这两次控制台都没有错误

当原始列表不受影响时,它将使用独立列表变量停止:
indendent\u list=looping\u list
。也可以使用
list.remove(x)
list.pop(x)
del list[x]
停止

目前的问题代码是:
dellistings\u to\u add[listing\u count]

以下是我的代码,简而言之(我认为):

从长远来看:

listings_to_add = new_listing_list
    for listing_count, listing in enumerate(new_listing_list):
        found = False
        print('\nRUNNING LISTING\n')

        #Checks the listing against all in DB
        for count, i in enumerate(id_in_DB):
            if not found:

                # Checks links - cuts them to listingID
                if str(listing[4]).split('?rsqid')[0] == i[1].split('?rsqid')[0]:
                    same_link = True
                    del listings_to_add[listing_count]
                    found = True
                else:
                    print(f'Different link: "{listing[4]}" \nWith DB.......: "{i[1]}"')

我读过关于为什么从你正在运行的列表中删除会产生bug的帖子,这是我首先做的,但在更改后仍然会停止。任何帮助都将不胜感激。

您可以使用列表理解来解决此问题

for A in ListX:
    for B in ListY:
        if A in ListY:
            ListX - remove(A)
作为


您的问题是您正在迭代
新列表
,但是
列表
是一个别名,因此当您
删除列表
添加[列表计数]时,您正在影响
新列表

我把你的密码弄乱了。试试这个:

listings_to_add = []
for listing_count, listing in enumerate(new_listing_list):
    for count, i in enumerate(id_in_DB):
        if str(listing[4]).split('?rsqid')[0] == i[1].split('?rsqid')[0]:
            same_link = True
            break
        listings_to_add.append(listing)
        print(f'Different link: "{listing[4]}" \nWith DB.......: "{i[1]}"')

“从正在运行的列表中删除会产生bug”:您仍在这样做
listings\u to\u add=new\u listing\u list
不会创建新列表。试试
listings\u to\u add=new\u listing\u list[:]
。我相信
list(new\u listing\u list)
new\u listing\u list[:]
更能传达信息。顺便说一句,简短的代码没有意义,因为你没有使用
B
listX = [x for x in listX if x not in listY]
listings_to_add = []
for listing_count, listing in enumerate(new_listing_list):
    for count, i in enumerate(id_in_DB):
        if str(listing[4]).split('?rsqid')[0] == i[1].split('?rsqid')[0]:
            same_link = True
            break
        listings_to_add.append(listing)
        print(f'Different link: "{listing[4]}" \nWith DB.......: "{i[1]}"')