将列表中的元素向左移动一个位置

时间:2015-04-24 06:39:20

标签: list python-3.x rotation

我要求编写一个函数rotate_left3(nums),其中list长度为3 的整数称为nums并返回list元素“向左旋转”,因此[1,2,3]产生[2,3,1]。

问题要求轮换长度为3 的列表。。我可以通过以下功能轻松完成此操作(只要列表长度为3)。:

def  rotate_left3(nums):
    return [nums[1]] + [nums[2]] + [nums[0]]

然而,我的问题是,我如何进行相同的操作但是使用未知长度的列表?

作为一名初学者,我见过一些对我来说很复杂的解决方案。所以如果我们能够尽可能简化解决方案,我将不胜感激。

1 个答案:

答案 0 :(得分:1)

让我们创建一个列表:

>>> nums = range(5)

现在,让我们左转一个位置:

>>> nums[1:] + nums[:1]
[1, 2, 3, 4, 0]

如果我们想左转两个位置,我们会使用:

>>> nums[2:] + nums[:2]
[2, 3, 4, 0, 1]