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

YGA*_*YGA 54 python

我有一个包含一组元素的数组.我想把一个给定的元素带到前面,否则保持顺序不变.人们对这个最干净的语法有什么建议吗?

这是我能够提出的最好的,但是当N操作可以执行N log N操作时似乎是不好的形式.

    mylist = sorted(mylist,
                    key=lambda x: x == targetvalue,
                    reverse=True)
Run Code Online (Sandbox Code Playgroud)

干杯,/ YGA

Mik*_*cki 99

我会选择:

mylist.insert(0, mylist.pop(mylist.index(targetvalue)))
Run Code Online (Sandbox Code Playgroud)


Ale*_*lli 28

要将(例如)第5个元素带到前面,请使用:

mylist.insert(0, mylist.pop(5))
Run Code Online (Sandbox Code Playgroud)


pro*_*ski 14

这只需要两个列表操作(无索引): mylist.remove(targetvalue) mylist.insert(0, targetvalue)