我有一个数字列表,例如:
[1, 2, 3, 4, 5, 6]
我无法弄清楚如何用最后2个切换列表的前2项,或者用最后3个切换前3个,依此类推。
当我将前两个数字的值分配给列表的最后两个项目时,我无法分配最后两个值(以前是列表的最后两个值)到前两个,因为最后两个值已经丢失。
如果我尝试使用其他空列表并将原始列表的最后2个值附加到该列表,然后附加中间值,然后旧列表的前2个值,我最终会得到这样的结果:
[[[5, 6], [3, 4], [1, 2]]]
我不想要嵌套列表!我想要的是:
[5, 6, 3, 4, 1, 2]
有人可以帮助我吗?
答案 0 :(得分:9)
>>> nums = [1, 2, 3, 4, 5, 6]
>>> nums[:2], nums[-2:] = nums[-2:], nums[:2]
>>> nums
[5, 6, 3, 4, 1, 2]
这会修改原始列表,但如果您需要单独的新列表,则应使用以下内容:
>>> nums = [1, 2, 3, 4, 5, 6]
>>> swapped_nums = nums[-2:] + nums[2:-2] + nums[:2]
>>> swapped_nums
[5, 6, 3, 4, 1, 2]
注意:如果您的列表中包含< 这将无法正常工作4个元素