我想比较排序列表(我的列表)中每个元素的数字(dist)。
如果数字小于myList中的第一个元素,那么我必须继续为dist找到正确的位置,删除myList中的第一个元素并移动列表。
现在我的主要问题是当dist小于myList中的第一个elem时的情况。该指数超出范围...
div.playlist {
position: relative;
display: inline-block;
}
div.playlist {
span {
position: absolute;
text-align: center;
height: 100%;
width: 100%;
color: white;
font-size: 20px;
}
.span-icon {
padding-bottom: 50px !important;
}
}
div.playlist span:before {
display: inline-block;
vertical-align: middle;
height: 100%;
content: '';
}
答案 0 :(得分:2)
IIUC,您希望在其正确的位置插入dist
并敲掉第一个元素。这很好,但是你有一些问题。主要的是你的条件,我不是在谈论&
。您要确保dist
大于当前,但小于下一个。你这样做:
if mylist[j] < dist < mylist[j+1]:
您还必须运行至小于len(mylist)
的一个,以避免索引越界。
您可以使用的另一个技巧是for...else
,它适用于未在其他地方插入dist
的极端情况。
简而言之,试试这个:
for j in range(len(mylist) - 1):
if mylist[j] < dist < mylist[j + 1]:
mylist.insert(j, dist)
mylist = mylist[1:]
break
else:
mylist.append(dist)
mylist = mylist[1:]
或者,您可以从1运行到len(mylist)
,并比较检查mylist[j - 1] < dist < mylist[j]
。