我要求编写一个函数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]]
然而,我的问题是,我如何进行相同的操作但是使用未知长度的列表?
作为一名初学者,我见过一些对我来说很复杂的解决方案。所以如果我们能够尽可能简化解决方案,我将不胜感激。
答案 0 :(得分:1)
让我们创建一个列表:
>>> nums = range(5)
现在,让我们左转一个位置:
>>> nums[1:] + nums[:1]
[1, 2, 3, 4, 0]
如果我们想左转两个位置,我们会使用:
>>> nums[2:] + nums[:2]
[2, 3, 4, 0, 1]