import os
os.chdir('G:\\f5_automation')
r = open('G:\\f5_automation\\uat.list.cmd.txt')
#print(r.read().replace('\n', ''))
t = r.read().split('\n')
for i in range(len(t)):
if ('inherited' or 'device-group' or 'partition' or 'template' or 'traffic-group') in t[i]:
t.pop(i)
print(i,t[i])
在上面的代碼中,我得到了第9行的索引錯誤:'if('inherited'or'device-group'... etc。迭代遍歷列表和pop()時發生索引錯誤 - ing元素
我真的不明白,爲什麼,怎麼能我的索引超出範圍,如果它是通過使用LEN(T)作爲我的範圍內完美的長度是多少?
的目標是彈出從我的列表中的任何指標是包含任何這些子字符串。謝謝您的協助!
第9行是print(i,t [i])是否正確?如果是這樣,這是有道理的,你不能再訪問該位置,因爲它已被彈出。在做流行音樂之前嘗試打印。應該很好 – FirebladeDan
你的'if'語句在語義上完全無效'python'。它會選擇第一個值作爲「真」,並測試它是否在你的列表中,而不是檢查它是否在其中。 –
你是否意識到'('inherited'或'device-group'或'partition'或'模板'或'流量組')=='繼承'。如果你想知道是否有't [i]',使用'any'。 – jonrsharpe