在Python中将列表元素移到前面的简单语法?
我有一个数组,里面有一组元素。我想把其中一个特定的元素移动到最前面,但其他元素的顺序不变。大家有没有什么好的方法可以做到这一点?
这是我目前想到的最好办法,但我觉得这样做效率不高,因为有些操作本来可以用更简单的方法完成。
mylist = sorted(mylist,
key=lambda x: x == targetvalue,
reverse=True)
4 个回答
21
这只需要进行两个列表操作(不需要用到索引):
mylist.remove(targetvalue) // 从列表中删除目标值
mylist.insert(0, targetvalue) // 在列表最前面插入目标值
46
要把(比如说)第六个元素放到最前面,可以使用:
mylist.insert(0, mylist.pop(5))
(注意:python是从0开始计数的哦)
182
我会选择:
mylist.insert(0, mylist.pop(mylist.index(targetvalue)))