小编Alp*_*ega的帖子

为什么list.remove()在此for循环中不起作用?

我有一个清单清单:

W = [[5.0, 0, 0, 0, 0], [5.0, 0, 0, 0], [0, 0, 0], [5.0, 0, 0, 0], [5.0, 0, 0, 0]]
Run Code Online (Sandbox Code Playgroud)

W我要从中的每个列表中删除零个条目。

我尝试了以下方法:

for idx in range(len(W)):
    W[idx].remove(0)
print(W)
Run Code Online (Sandbox Code Playgroud)

但它总是会回来

[[5.0, 0, 0, 0, 0], [5.0, 0, 0, 0], [0, 0, 0], [5.0, 0, 0, 0], [5.0, 0, 0, 0]]
Run Code Online (Sandbox Code Playgroud)

这里什么都没有改变。我知道以下事实:在遍历对象时无法更改对象,但是由于我没有遍历W而是遍历len(W),所以我不明白为什么我的代码无法正常工作。

我究竟做错了什么?

python list

1
推荐指数
1
解决办法
112
查看次数

标签 统计

list ×1

python ×1