for 循环中的 del 函数每隔一个元素删除一次。我想全部删除直到满足条件

The del function in the for loop removes every second element. I want to delete all of them until the condition is met

a = [0,0,0,0,0,0,0,0,0,1,2,3,4,0,0]

我在一个: 如果我 < 3: 删除[0]

打印(一) [0, 0, 0, 1, 2, 3, 4]

应该是:

[3,4,0,0]

a = [0,0,0,0,0,0,0,0,0,1,2,3,4]
n= []
for i in range(len(a)):
    if(a[i]<3):
        continue
    else:
        n.append(a[i])
print(n) # [3,4]

您正在以一种令人困惑的方式使用 i,因为您没有将其用作索引(这是一种规范)而是用作迭代器。为了便于阅读,我建议将迭代器名称更改为更具描述性的名称。

如果我理解你的问题是正确的,你想删除第一个元素,直到它大于或等于 3。如果这是你的问题,你可以这样做:

a = [0,0,0,0,0,0,0,0,0,1,2,3,4,0,0]
while a[0]<3:
    del a[0]
print(a) # [3,4,0,0]