📅  最后修改于: 2023-12-03 15:40:54.043000             🧑  作者: Mango
数组旋转是一种基本的数组操作,它可以将数组中的元素顺时针或逆时针旋转固定的次数。Python提供了非常方便的方法来实现数组旋转,下面是一个简单的示例程序。
def rotate_array(arr, k):
"""
用于将数组 arr 向右旋转 k 次
"""
k = k % len(arr)
arr[:k], arr[k:] = arr[len(arr)-k:], arr[:len(arr)-k]
return arr
该示例代码定义了一个 rotate_array
函数,接收两个参数:arr
代表待旋转的数组,k
代表旋转次数。该函数将传入的数组按照指定次数向右旋转,并返回旋转后的数组。
为了避免重复旋转,程序对旋转次数取了余数。接着,通过 Python 的高级赋值语法交换数组的前 k 个元素和后 len(arr)-k 个元素的位置,从而完成了旋转的操作。
arr = [1, 2, 3, 4, 5]
k = 2
print(rotate_array(arr, k)) # [4, 5, 1, 2, 3]
我们使用一个长度为5的数组,将其向右旋转2次,结果为 [4, 5, 1, 2, 3],符合预期。