Python 程序:将 Numpy 数组向左旋转n

晴川云Python教程:

编写一个 Python 程序,将 Numpy 数组向左旋转 n 次或N个位置。为了向左旋转数组,我们根据位置对数组进行了切片,并将其与 Python 示例中的 numpy concatenate 函数相结合。

import numpy as np

ltArray = np.array([4, 7, 9, 11, 22, 55, 99, 125, 78, 345])

ltRotate = int(input("Enter Position to Left Rotate Array Elements = "))

print('Original Array Elements Before Left Rotating')
print(ltArray)

arr = np.concatenate((ltArray[ltRotate:], ltArray[:ltRotate]), axis = 0)

print('\nFinal Array Elements After Left Rotating')
print(arr)

这个 Python 程序使用 for 循环根据用户给定的位置向左旋转 Numpy 数组项。

import numpy as np

ltArray = np.array([19, 25, 32, 77, 28, 99, 44, 88])

ltRotate = int(input("Enter Position to Left Rotate Array Elements = "))

print('Original Array Elements Before Left Rotating')
print(ltArray)

for i in range(ltRotate):
    firstValue = ltArray[0]
    for j in range(len(ltArray) - 1):
        ltArray[j] = ltArray[j + 1]
    ltArray[len(ltArray) - 1] = firstValue

print('\nFinal Array Elements After Left Rotating')
print(ltArray)
Enter Position to Left Rotate Array Elements = 5
Original Array Elements Before Left Rotating
[19 25 32 77 28 99 44 88]

Final Array Elements After Left Rotating
[99 44 88 19 25 32 77 28]

在这个 Python 例子中,leftRotateArray 函数将把任意数组项旋转到左手边,printArrayItems 打印数组项。

import numpy as np

def printArrayItems(ltArray):
    for i in ltArray:
        print(i, end = ' ')

def leftRotateArray(ltArray, ltRotate):
    for i in range(ltRotate):
        firstValue = ltArray[0]
        for j in range(len(ltArray) - 1):
            ltArray[j] = ltArray[j + 1]
        ltArray[len(ltArray) - 1] = firstValue

ltArray = np.random.randint(11, 110, size = 10)

ltRotate = int(input("\nEnter Position to Left Rotate Array Elements = "))

print('Original Array Elements Before Left Rotating')
printArrayItems(ltArray)

leftRotateArray(ltArray, ltRotate)
print('\nFinal Array Elements After Left Rotating')
printArrayItems(ltArray)
Enter Position to Left Rotate Array Elements = 7
Original Array Elements Before Left Rotating
73 45 65 97 84 99 40 18 77 105 
Final Array Elements After Left Rotating
18 77 105 73 45 65 97 84 99 40 

Python 程序使用 while 循环向左旋转 Numpy 数组 n。

import numpy as np

def printArrayItems(ltArray):
    i = 0
    while i < len(ltArray):
        print(ltArray[i], end = ' ')
        i = i + 1

def leftRotateArray(ltArray, ltRotate):
    i = 0
    while(i < ltRotate):
        firstValue = ltArray[0]
        j = 0
        while(j < len(ltArray) - 1):
            ltArray[j] = ltArray[j + 1]
            j = j + 1
        ltArray[len(ltArray) - 1] = firstValue
        i = i + 1

ltArray = np.random.randint(70, 500, size = 15)

ltRotate = int(input("\nEnter Position to Left Rotate Array Elements = "))

print('Original Array Elements Before Left Rotating')
printArrayItems(ltArray)

leftRotateArray(ltArray, ltRotate)
print('\nFinal Array Elements After Left Rotating')
printArrayItems(ltArray)
Enter Position to Left Rotate Array Elements = 6
Original Array Elements Before Left Rotating
204 76 370 211 180 453 407 250 213 332 456 333 292 460 354 

Final Array Elements After Left Rotating
407 250 213 332 456 333 292 460 354 204 76 370 211 180 453 

原创文章,作者:晴川运维,如若转载,请注明出处:https://baike.qcidc.com/14693.html

(0)
晴川运维晴川运维
上一篇 2025年10月7日
下一篇 2025年10月7日

相关推荐

发表回复

登录后才能评论