2016-11-21 61 views
-2

我想使用特定索引將元素添加到列表中。使用插入它不適合我,因爲它應該在所有情況下。請看看:將元素添加到python中按照正確的順序排列

rest = [666, 555, 222] 
s= sorted(rest) 

list1 = []  
list1.insert(rest.index(s[0]),3) 
list1.insert(rest.index(s[1]),2) 
list1.insert(rest.index(s[2]),1) 

print list1 

所以我想實現 - 最高值映射到最低的休息表。我得到的是: 1,3,2,目標是1,2,3(在這種情況下)。

據我所知,這是如何插入功能的作品,但有沒有其他辦法達到我想要的?

+0

我已經回答了你的問題。如果有幫助,接受答案或評論,以突出您的問題:) –

回答

2

這是你在找什麼?

rest = [666, 555, 222] 
s= sorted(rest) 

list1 = [0] * len(rest)  
list1[rest.index(s[0])] = 3 
list1[rest.index(s[1])] = 2 
list1[rest.index(s[2])] = 1 

print list1 

上面的代碼給出了[1, 2, 3]作爲輸出(如您所期望的)。

+0

謝謝瓦西,就是這樣。 – Irt

+0

@最好的方式來感謝是通過接受答案:) –

-1

如果你想永久列表進行排序,你可以這樣寫:

list1.sort() 

這將排序列表從最小到最大。

+0

這不是OP所期待的。 –

+0

順便說一句,這隻適用於列表。 –

+0

對不起,OP是什麼意思? –

相關問題