小编Wil*_*ill的帖子

Python:删除满足特定条件的所有列表索引

为了解决这个问题,我试图遍历 python 中的坐标对列表,并删除其中一个坐标为负的所有情况。例如:

在数组中:

map = [[-1, 2], [5, -3], [2, 3], [1, -1], [7, 1]]
Run Code Online (Sandbox Code Playgroud)

我想删除其中任一坐标 < 0 的所有对,留下:

map = [[2, 3], [7, 1]]
Run Code Online (Sandbox Code Playgroud)

我的问题是 python 列表不能有任何间隙,所以如果我这样循环:

i = 0
for pair in map:
        for coord in pair:
            if coord < 0:
                del map[i]
    i += 1
Run Code Online (Sandbox Code Playgroud)

当元素被删除时,所有的索引都会发生变化,扰乱迭代并导致各种问题。我尝试将坏元素的索引存储在另一个列表中,然后循环遍历并删除这些元素,但我遇到了同样的问题:一旦一个元素消失,整个列表就会发生变化,索引不再准确。

有什么我想念的吗?

谢谢。

python list del indices

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

标签 统计

del ×1

indices ×1

list ×1

python ×1