📜  Python程序在向右旋转K次后打印数组(1)

📅  最后修改于: 2023-12-03 15:34:31.595000             🧑  作者: Mango

Python程序在向右旋转K次后打印数组

在编程中,有时候需要对数组进行旋转操作,即将数组中的元素向右移动K个位置。本文介绍如何使用Python实现向右旋转K次后打印数组的操作。

实现

首先,可以通过切片操作将数组分为两部分,即数组的前半部分和后半部分。然后,将前半部分翻转,后半部分翻转,最后将整个数组翻转即可实现向右旋转K次的操作。

下面是使用Python代码实现向右旋转K次后打印数组的操作:

def rotate(nums, k):
    n = len(nums)
    k = k % n
    nums[:n-k] = nums[:n-k][::-1]
    nums[n-k:] = nums[n-k:][::-1]
    nums[:] = nums[::-1]
    print(nums)

代码解释:

  • n = len(nums):获取数组的长度n。
  • k = k % n:K可能大于数组长度,所以需要对K取余。
  • nums[:n-k] = nums[:n-k][::-1]:翻转前半部分。
  • nums[n-k:] = nums[n-k:][::-1]:翻转后半部分。
  • nums[:] = nums[::-1]:将整个数组翻转。
  • print(nums):打印旋转后的数组。
测试

下面给出向右旋转K次后打印数组的测试示例:

nums = [1, 2, 3, 4, 5, 6, 7]
k = 3
rotate(nums, k)  # [5, 6, 7, 1, 2, 3, 4]

运行结果:

[5, 6, 7, 1, 2, 3, 4]
总结

本文介绍了如何使用Python实现向右旋转K次后打印数组的操作,通过切片、翻转等操作实现了该功能。以上内容供程序员参考,希望对大家有所帮助。