python数组循环移位

2023-11-20 06:06:50

要实现数组循环移位,可以使用Python中的切片操作。具体步骤如下:

1. 定义一个函数`rotate(nums, k)`,接受一个数组`nums`和一个整数`k`作为参数。
2. 计算`k`对数组长度的取模,得到实际需要移动的步数。
3. 使用切片操作将数组分为两部分,第一部分是从末尾开始的`k`个元素,第二部分是剩下的元素。
4. 将这两部分重新拼接在一起,得到循环移位后的数组。
5. 返回移位后的数组。

以下是具体的代码实现:

def rotate(nums, k):
    k = k % len(nums)
    nums = nums[-k:] + nums[:-k]
    return nums

使用示例:

nums = [1, 2, 3, 4, 5]
k = 2
result = rotate(nums, k)
print(result)  # 输出 [4, 5, 1, 2, 3]

在这个示例中,数组`nums`向右循环移动了2个位置,移动后的数组为`[4, 5, 1, 2, 3]`。