我有具有這些元素的列表(列表由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並同時修改它,我也喜歡過生活。 –