创新互联Python教程:
编写一个 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
网站标题:Python程序:将NumPy数组向右旋转n
转载来于:http://www.shufengxianlan.com/qtweb/news17/345117.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联