有没有更简单的方法在CodingBat Python上执行rotate_left3?

时间:2016-03-10 23:10:35

标签: python

说明如下:

给定一个整数长度为3的数组,返回一个元素“向左旋转”的数组,以便{1, 2, 3}产生{2, 3, 1}

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

我认为你可以使用切片来使它工作,但我可能是错的。

5 个答案:

答案 0 :(得分:0)

你是对的,这可以通过切片来完成:

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

答案 1 :(得分:0)

您可以用另一种方式来做。您可以创建一个新列表,并向其中添加所有元素。

def rotate_left3(nums): 
    nums1 = []
    nums1.insert(0, nums[1])
    nums1.insert(1, nums[2])
    nums1.insert(2, nums[0])
    return nums1

答案 2 :(得分:0)

#这在Jupyter中有效,但是CodingBat拒绝了它。

    def rotate_left3(nums):
        nums.append(nums.pop(0))

答案 3 :(得分:0)

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

答案 4 :(得分:0)

#Fun way using append operator


 def rotate_left3(nums):
   numlist = []
   numlist.append(nums[1])
   numlist.append(nums[2])
   numlist.append(nums[0])
   return numlist