我有具有这些元素的列表(列表由STR(元素)):列表索引超出范围:蟒
['-0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15']
和欲处理它有这样
['-0', '1#', '15#']
输出
如果元素是-xi想让它留在那里,所以我取最后2个元素,如果间距是1,则删除最后一个元素之前的元素。 下面是代码:
for k in range(len(l1)):
if "-" in (l1[-k] or l1[-k-1]):
print("debuggggg")
pass
elif(int(l1[-k]) - int(l1[-k-1])== 1 and int(l1[-k]) - int(l1[-k-2])== 2) :
a= l1[-2]
print(a)
l1.remove(a)
#print("debug 2")
elif(int(l1[-k]) - int(l1[-k-1])== 1):
a= l1[-2]
l1.remove(a)
l1[-2] = l1[-2] +"#"
l1[-1] = l1[-1] +"#"
print("3")
#elif(type(l1[-2]) is str):
#pass
问题是在这里:
debuggggg
14
13
12
11
10
9
8
最后2个元素不包括字符“ - ”,但似乎他们做的。 此外后的8环脚本崩溃:
elif(int(l1[-k]) - int(l1[-k-1])== 1 and int(l1[-k]) - int(l1[-k-2])== 2) :
IndexError: list index out of range
,但它是不出来的列表的范围。问题是什么?
你迭代通过l1并同时修改它,我也喜欢过生活。 –