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]
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]