在Python中循环旋转一个数组的程序 |列表切片
给定一个数组,将数组顺时针循环旋转一圈。
例子:
Input: arr = [1, 2, 3, 4, 5]
Output: arr = [5, 1, 2, 3, 4]
我们有解决这个问题的现有解决方案,请参考程序以循环旋转一个链接的数组。我们将使用 List Comprehension 在Python中快速解决这个问题。方法非常简单,只需删除列表中的最后一个元素并将其附加到剩余列表的前面。
# Program to cyclically rotate an array by one
def cyclicRotate(input):
# slice list in two parts and append
# last element in front of the sliced list
# [input[-1]] --> converts last element pf array into list
# to append in front of sliced list
# input[0:-1] --> list of elements except last element
print ([input[-1]] + input[0:-1])
# Driver program
if __name__ == "__main__":
input = [1, 2, 3, 4, 5]
cyclicRotate(input)
输出:
[5, 1, 2, 3, 4]