Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/365.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-x不在列表中错误_Python_List_Python 3.x - Fatal编程技术网

Python-x不在列表中错误

Python-x不在列表中错误,python,list,python-3.x,Python,List,Python 3.x,我在一个列表中有一个列表,我试图删除嵌套列表中任何等于-1的值。当我试图运行我的代码时,我得到了一个“ValueError:list.remove(x):x not in list”错误,你知道我做错了什么吗 for x in list: for i in x: if i == -1: list.remove(x) 您不应该在迭代列表时对其进行变异。您也不应该命名变量列表,因为该名称由内置函数使用。您可以通过以下简单的方式实现您想要的: 您不应该

我在一个列表中有一个列表,我试图删除嵌套列表中任何等于-1的值。当我试图运行我的代码时,我得到了一个“ValueError:list.remove(x):x not in list”错误,你知道我做错了什么吗

for x in list:
    for i in x:
        if i == -1:
            list.remove(x)

您不应该在迭代列表时对其进行变异。您也不应该命名变量
列表
,因为该名称由内置函数使用。您可以通过以下简单的方式实现您想要的:


您不应该在迭代列表时对其进行变异。您也不应该命名变量
列表
,因为该名称由内置函数使用。您可以通过以下简单的方式实现您想要的:


您不应该在迭代列表时对其进行变异。您也不应该命名变量
列表
,因为该名称由内置函数使用。您可以通过以下简单的方式实现您想要的:


您不应该在迭代列表时对其进行变异。您也不应该命名变量
列表
,因为该名称由内置函数使用。您可以通过以下简单的方式实现您想要的:




可能
-1
x
中多次出现。但是无论如何,你不能在迭代时从
列表中删除元素。@SteveJessop,不幸的是,你可以,但它几乎不会给出预期的结果(除非你真的知道会发生什么)@gnibler:好的,那么行为是由语言定义的吗?跳过一个元素,或者别的什么?@SteveJessop,这当然是cpython的情况。但我不确定它是否在语言定义中。与dict相比,dict在迭代之间不允许有不同的大小。@gnibler:好吧,如果Python曾经被标准化,那么我们会发现;-)可能
-1
x
中多次出现。但是无论如何,你不能在迭代时从
列表中删除元素。@SteveJessop,不幸的是,你可以,但它几乎不会给出预期的结果(除非你真的知道会发生什么)@gnibler:好的,那么行为是由语言定义的吗?跳过一个元素,或者别的什么?@SteveJessop,这当然是cpython的情况。但我不确定它是否在语言定义中。与dict相比,dict在迭代之间不允许有不同的大小。@gnibler:好吧,如果Python曾经被标准化,那么我们会发现;-)可能
-1
x
中多次出现。但是无论如何,你不能在迭代时从
列表中删除元素。@SteveJessop,不幸的是,你可以,但它几乎不会给出预期的结果(除非你真的知道会发生什么)@gnibler:好的,那么行为是由语言定义的吗?跳过一个元素,或者别的什么?@SteveJessop,这当然是cpython的情况。但我不确定它是否在语言定义中。与dict相比,dict在迭代之间不允许有不同的大小。@gnibler:好吧,如果Python曾经被标准化,那么我们会发现;-)可能
-1
x
中多次出现。但是无论如何,你不能在迭代时从
列表中删除元素。@SteveJessop,不幸的是,你可以,但它几乎不会给出预期的结果(除非你真的知道会发生什么)@gnibler:好的,那么行为是由语言定义的吗?跳过一个元素,或者别的什么?@SteveJessop,这当然是cpython的情况。但我不确定它是否在语言定义中。与dict相比,dict在迭代之间不允许有不同的大小。@gnibler:好吧,如果Python曾经被标准化,那么我们会发现;-)当然
[x代表x,如果-1不代表x]
?@SteveJessop仔细想想,这不是不同吗?请注意,我的
x
与OP的
x
不同。对不起,我的评论中有一个错误,现已修复。我的代码与你的不同,我相信你的代码与提问者想要的不同。其思想是从外部列表中删除任何包含-1的内部列表。您的代码从内部列表中删除了-1。@SteveJessop“我在一个列表中有一个列表,我正在尝试删除嵌套列表中任何等于-1的值”@arshajii,但很难看出这与代码的建议相符。也许只是把这两种解释都写进你的答案当然
[x代表x在我的清单中,如果-1不在x中]
?@SteveJessop仔细想想,这不是不同吗?请注意,我的
x
与OP的
x
不同。对不起,我的评论中有一个错误,现已修复。我的代码与你的不同,我相信你的代码与提问者想要的不同。其思想是从外部列表中删除任何包含-1的内部列表。您的代码从内部列表中删除了-1。@SteveJessop“我在一个列表中有一个列表,我正在尝试删除嵌套列表中任何等于-1的值”@arshajii,但很难看出这与代码的建议相符。也许只是把这两种解释都写进你的答案当然
[x代表x在我的清单中,如果-1不在x中]
?@SteveJessop仔细想想,这不是不同吗?请注意,我的
x
与OP的
x
不同。对不起,我的评论中有一个错误,现已修复。我的代码与你的不同,我相信你的代码与提问者想要的不同。其思想是从外部列表中删除任何包含-1的内部列表。您的代码从内部列表中删除了-1。@SteveJessop“我在一个列表中有一个列表,我正在尝试删除嵌套列表中任何等于-1的值”@arshajii,但很难看出这与代码的建议相符。也许只是把这两种解释都写进你的答案当然
[x代表x在我的清单中,如果-1不在x中]
?@SteveJessop仔细想想,这不是不同吗?请注意,我的
x
与OP的
x
不同。对不起,有一个错误
my_list = [[x for x in v if x != -1] for v in my_list]