在Python中将列表元素移到前面的简单语法?

96 投票
4 回答
62470 浏览
提问于 2025-04-15 12:20

我有一个数组,里面有一组元素。我想把其中一个特定的元素移动到最前面,但其他元素的顺序不变。大家有没有什么好的方法可以做到这一点?

这是我目前想到的最好办法,但我觉得这样做效率不高,因为有些操作本来可以用更简单的方法完成。

    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)))

撰写回答