Python 获取值错误:list.remove(x):尝试从列表中删除值时x不在列表中

Python 获取值错误:list.remove(x):尝试从列表中删除值时x不在列表中,python,loops,for-loop,iteration,Python,Loops,For Loop,Iteration,我试图让这个工作如下,但当我运行的代码,我不断得到这个错误 回溯(最近一次呼叫最后一次): 文件“F:/Computer Sci/Mathematics for Computing/Assignment 2/Assignment2.py”,第15行,中 阵列1.移除([7,2,3,5]) ValueError:list。删除(x):x不在列表中 array1=[[7,2,3,5],[7,2,90,0],[7,2,3,90],[7,3,3,5]] 数组2=[[1,2,4,8],[1,90,4,0]

我试图让这个工作如下,但当我运行的代码,我不断得到这个错误

回溯(最近一次呼叫最后一次): 文件“F:/Computer Sci/Mathematics for Computing/Assignment 2/Assignment2.py”,第15行,中 阵列1.移除([7,2,3,5]) ValueError:list。删除(x):x不在列表中

array1=[[7,2,3,5],[7,2,90,0],[7,2,3,90],[7,3,3,5]]
数组2=[[1,2,4,8],[1,90,4,0],[7,2,90,3],[4,2,4,5]]
对于范围(0,4)内的x:
如果x==0:
持续
对于范围(0,4)内的y:
如果阵列1[0][y]<阵列1[x][y]:
阵列1.移除([7,2,3,5])

正如我在评论中所说,您的代码可以改进

您可以使用函数并在满足条件后返回

def func(array1, to_remove):
    for lst in array1:
        for index, n in enumerate(lst):
            if array1[0][index] < n:
                array1.remove(to_remove)
                return True
    return False
def func(数组1,要删除):
对于阵列1中的lst:
对于索引,枚举中的n(lst):
如果数组1[0][index]
或者使用旗帜

flag = False
for lst in array1:
    for index, n in enumerate(lst):
        if array1[0][index] < n:
            array1.remove([7,2,3,5])
            flag = True
            break
    if flag:
        break
flag=False
对于阵列1中的lst:
对于索引,枚举中的n(lst):
如果数组1[0][index]
错误信息非常清楚,您在这里期待什么?我不明白为什么它会在[7,2,3,5]时告诉您“array1.remove([7,2,3,5])有错误列表中是否有一个真正的值,尽管它告诉我它不是?我假设它在循环的早期迭代中被删除,然后在随后的迭代中再次尝试删除它。在删除该值后,我将如何结束循环?你能告诉我们你想实现什么吗?如果你想让它成为一个函数,您也可以将元素作为参数传递。@nlsdfnbch是的,为什么不呢?现在非常漂亮。;)@taoufikA你能解释一下你创建的函数是如何工作的吗?它接受你想要移除的数组和元素,一旦移除,它将返回(更新)True,否则返回False
flag = False
for lst in array1:
    for index, n in enumerate(lst):
        if array1[0][index] < n:
            array1.remove([7,2,3,5])
            flag = True
            break
    if flag:
        break