我想從列表中刪除一些數組。但是我使用了錯誤的範圍。 開始時範圍是正確的。 這應該工作,如果字符串中變量的結果並[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]'沒有什麼不同。 –