編寫一個 Python 程序,將 Numpy 數組向右旋轉 n 次或N
個位置。在這個 Python 示例中,我們使用負數從右側到右側旋轉分割數組,並使用 numpy concatenate 方法合併兩個切片。
import numpy as np
rtArray = np.array([10, 15, 25, 35, 67, 89, 97, 122, 175])
rtRotate = int(input("Enter Position to Right Rotate Array Elements = "))
print('Original Array Elements Before Right Rotating')
print(rtArray)
arr = np.concatenate((rtArray[-rtRotate:], rtArray[:-rtRotate]), axis = 0)
print('\nFinal Array Elements After Right Rotating')
print(arr)
這個 Python 程序使用嵌套 for 循環將 Numpy 數組項向右旋轉用戶給定的數字 n 或位置。
import numpy as np
rtArray = np.array([4, 6, 8, 11, 15, 29, 44, 77, 99])
rtRotate = int(input("Enter Position to Right Rotate Array Elements = "))
print('Original Array Elements Before Right Rotating')
print(rtArray)
length = rtArray.size - 1
for i in range(rtRotate):
lastValue = rtArray[length]
for j in range(length, -1, -1):
rtArray[j] = rtArray[j - 1]
rtArray[0] = lastValue
print('\nFinal Array Elements After Right Rotating')
print(rtArray)
Enter Position to Right Rotate Array Elements = 4
Original Array Elements Before Right Rotating
[ 4 6 8 11 15 29 44 77 99]
Final Array Elements After Right Rotating
[29 44 77 99 4 6 8 11 15]
在這個 Python 例子中,RightRotateArray 函數會將數組項旋轉到右手邊,printRightArrayItems 會列印 numpy 數組項。
import numpy as np
def printRightArrayItems(rtArray):
for i in rtArray:
print(i, end = ' ')
def RightRotateArray(rtArray, rtRotate):
length = rtArray.size - 1
for i in range(rtRotate):
lastValue = rtArray[length]
for j in range(length, -1, -1):
rtArray[j] = rtArray[j - 1]
rtArray[0] = lastValue
rtArray = np.random.randint(11, 110, size = 10)
rtRotate = int(input("\nEnter Position to Right Rotate Array Elements = "))
print('Original Array Elements Before Right Rotating')
printRightArrayItems(rtArray)
RightRotateArray(rtArray, rtRotate)
print('\nFinal Array Elements After Right Rotating')
printRightArrayItems(rtArray)
Enter Position to Right Rotate Array Elements = 3
Original Array Elements Before Right Rotating
16 63 31 106 18 51 61 35 106 72
Final Array Elements After Right Rotating
35 106 72 16 63 31 106 18 51 61
Python 程序使用 while 循環向右旋轉 Numpy 數組。
import numpy as np
def printRightArrayItems(rtArray):
i = 0
while i < len(rtArray):
print(rtArray[i], end = ' ')
i = i + 1
def RightRotateArray(rtArray, rtRotate):
length = rtArray.size - 1
i = 0
while(i < rtRotate):
lastValue = rtArray[length]
j = length
while(j >= 0):
rtArray[j] = rtArray[j - 1]
j = j - 1
rtArray[0] = lastValue
i = i + 1
rtArray = np.random.randint(90, 350, size = 15)
rtRotate = int(input("\nEnter Position to Right Rotate Array Elements = "))
print('Original Array Elements Before Right Rotating')
printRightArrayItems(rtArray)
RightRotateArray(rtArray, rtRotate)
print('\nFinal Array Elements After Right Rotating')
printRightArrayItems(rtArray)
Enter Position to Right Rotate Array Elements = 5
Original Array Elements Before Right Rotating
291 249 100 283 189 101 341 333 316 344 285 291 234 336 211
Final Array Elements After Right Rotating
285 291 234 336 211 291 249 100 283 189 101 341 333 316 344
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/303223.html