如何删除嵌套列表中的负值

sar*_*har 8 python list

我开始新的python编程,我写了这段代码

y=[[-1,-2,4,-3,5],[2,1,-6],[-7,-8,0],[-5,0,-1]]
for row in y:
   for col in row:
     if col<0:
      row.remove(col)
print(y)
Run Code Online (Sandbox Code Playgroud)

在这段代码中,我想删除具有负值的元素,但是当两个负值在一起时,代码不会删除或删除第二个值,我该怎么办?请帮我。

azr*_*zro 5

您可能永远不会在迭代时从列表中删除项目,您会保留您需要的项目,积极的项目

y = [[col for col in row if col>=0] for row in y]
Run Code Online (Sandbox Code Playgroud)