Skip to main content
 首页 » 编程设计

python之根据特定顺序重新排序列表

2025年05月04日14luoye11

我想对长度为 n 的列表重新排序,其中 n 可以是 5 到 20 之间的任何整数。

示例列表 = [1,2,3,4,5,6]

对于我生成的每个列表,我想将最后一个元素 [-2] 移动到列表 [0] 的开头,以便最终顺序变为:

new_list = [5,1,2,3,4,6]

我试过:

myorder =[1,2,3,4,5,6] 
 
 
new_order = [(myorder[-2]), [i for i in myorder[:-2]], (myorder[-1])] 

但这给了我一个列表中的列表:

[5, [1, 2, 3, 4], 6]

有没有一种简单的方法可以实现列表理解?

请您参考如下方法:

你可以试试这个:

new_order = [myorder[-2]] + [i for i in myorder[:-2]] + [myorder[-1]] 

或者,简化一点,

new_order = [myorder[-2]] + myorder[:-2] + [myorder[-1]]