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