我想从列表中删除一些数组。但是我使用了错误的范围。 开始时范围是正确的。 这应该工作,如果字符串中变量的结果并[b] [2:3]然后删除结果并[b]什么是正确的回路范围
for b in range(len(result)):
if 'FillLevel' in result[b][2:3]:
del result[b]
之后我有错误:IndexError:列表索引超出范围
我想找到这个字符串,并删除整行(阵列):
V;4;FillLevel[1];CPUA.DB1610.0,I0,64;RW
V;4;FillLevel[2];CPUA.DB1610.0,I;RW
V;4;FillLevel[5];CPUA.DB1610.6,I;RW
V;4;FillLevel[6];CPUA.DB1610.8,I;RW
V;4;FillLevel[11];CPUA.DB1610.18,I;RW
为什么这段代码:
print(result[4][2:3])
print(result[5][2:3])
print(result[6][2:3])
print(result[7][2:3])
print(result[8][2:3])
print(result[9][2:3])
print(result[10][2:3])
b = 0
while b < len(result):
if 'FillLevel' in result[b][2:3]:
del result[b]
del adress[b]
print('yes')
b += 1
只显示一次'是'?
['FillLevel']
['FillLevel[1]']
['FillLevel[2]']
['FillLevel[3]']
['FillLevel[4]']
['FillLevel[5]']
['FillLevel[6]']
yes
你是什么意思** *“如果字符串变量结果[b] [2:3]”***?我不确定这是否合理。 –
请参阅[本答案](http:// stackoverflow。com/questions/1207406/remove-items-from-a-list-while-iterating-in-python)了解如何从列表中删除项目。 –
@MatthewCliatt它确实有道理,但它很可能与'if'FillLevel'== result [b] [2]'没有什么不同。 –