我想比较排序列表(我的列表)中每个元素的数字(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