2016-11-21 45 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是什么意思? –

相关问题