我想对长度为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]]
关于python - 根据特定顺序对列表重新排序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53740279/