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