我想比較排序列表(我的列表)中每個元素的數字(dist)。列表中的比較,排除和彈出元素(Python)
如果數字小於myList中的第一個元素,那麼我必須繼續並找到正確的dist位置,然後消除myList中的第一個元素並移動列表。
我現在的主要問題是,當dist小於myList中的第一個元素時。該指數超出範圍......
dist = 10
mylist = [40, 30, 20, 15] # this is a sorted list
for j in range(0, len(mylist)):
if mylist[j] < dist & dist> mylist[j+1]:
print (mylist[j], '<' ,dist, '>', mylist[j+1])
#drop 40
#shift the list so that is becomes: [30,20, 15,10]
使用'和'而不是'&'。 –
@ChristianDean有趣的是它仍然有效,因爲按位優先,它變成了mylist [j] < dist > mylist [j + 1]',它仍然是相同的。討論一下運氣...... –
'dist> mylist [j + 1]'這是什麼原因導致你的問題,因爲在for循環的最後一次迭代中,'j'將超出列表中最大的索引,而你將得到錯誤 – KGS