首頁 > 後端開發 > Python教學 > Python程式旋轉數組元素

Python程式旋轉數組元素

WBOY
發布: 2023-09-01 15:05:06
轉載
1288 人瀏覽過

Python程式旋轉數組元素

宣告陣列後,直到特定索引為止的陣列元素都會被旋轉,使得所需索引之前的第一個元素被放置在最後一個陣列中的最後一個元素旁邊。讓我們透過輸入輸出場景來討論這個問題。

輸入輸出場景

考慮一個陣列 arr = [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ]。

  • 我們可以清楚地說,初始數組由 10 個元素組成,最後一個元素的索引為 9。

  • 假設陣列旋轉了兩個元素。

  • 在本例中,前兩個元素放置在最後一個元素「 10 」之後。

  • 首先,元素「1」將被放置在10之後,放置元素「1」之後,下一個元素「2」將被放置在1旁邊。

因此,結果陣列將為 arr = [ 3, 4, 5, 6, 7, 8, 9, 10, 1, 2 ]。

範例

在此範例中,我們將討論將陣列的某些元素(一次全部)旋轉一定次數的過程。建置程序必須遵循的步驟如下:

  • 宣告一個處理陣列元素旋轉的函數或方法。

  • (注意此方法的參數必須由陣列、陣列的最大大小和使用者要求的旋轉次數組成)

  • 在該方法中,考慮一個具有變數名稱「 temp 」的新數組,以便儲存旋轉後的陣列元素。

  • 借助變數「 i 」和循環,迭代數組的元素(直到等於旋轉次數的索引)並將元素逐一附加到「 temp 」中數組。

  • 考慮另一個循環並迭代下一個索引中的元素並相應地儲存它們。

  • 現在,將陣列「 arr 」合併到陣列「 temp 」並將值儲存到陣列「 arr 」中。

def rotate_elements(arr, max, no_of_elements):
   temp = []
   i = 0
   while (i < no_of_elements):
      temp.append(arr[i])
      i += 1

   i = 0
   while (no_of_elements < max):
      arr[i] = arr[no_of_elements]
      i = i + 1
      no_of_elements = no_of_elements + 1

   arr[:] = arr[: i] + temp
   return arr
arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
print("The array before rotation is: ", end =' ')
print(arr)
print("The array after rotation is: ", end=' ')
max_size = len(arr)

print(rotate_elements(arr, max_size, 2))
登入後複製

輸出

上述程式的輸出如下 -

The array before rotation is:  [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
The array after rotation is:  [3, 4, 5, 6, 7, 8, 9, 10, 1, 2]
登入後複製

範例

在這個例子中,我們將討論將陣列中的某些元素(一個接一個)旋轉一定次數的過程。建置程式必須遵循的步驟如下 -

  • 宣告兩個函數。第一個函數將用於迭代所有元素,直到旋轉總數,同時它呼叫第二個方法,以便在迭代元素後,將允許元素立即旋轉。

  • (注意此方法的參數必須由陣列、陣列的最大大小和使用者要求的旋轉次數組成)

  • 在第二種方法中,考慮一個變數名為「 temp 」的空數組,以便儲存旋轉後的陣列元素。

  • 借助變數「 i 」和循環,迭代從索引 0 到最後一個元素的最後一個索引的所有元素,並依序旋轉數組的元素。

  • 列印旋轉後陣列「arr」中存在的元素。

def rotate_elements(arr, no_of_elements, max):
   for i in range(no_of_elements):
      rotate_one_by_one(arr, max)
def rotate_one_by_one(arr, max):
   temp = arr[0]
   for i in range(max-1):
      arr[i] = arr[i+1]
   arr[max-1] = temp

arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
print("The array before rotation: ")
print(arr)

rotate_elements(arr, 2, 10)
print("The array after rotation: ")
print(arr)
登入後複製

輸出

上述程式的輸出如下 -

The array before rotation: 
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
The array after rotation:
[3, 4, 5, 6, 7, 8, 9, 10, 1, 2]
登入後複製

結論

我們可以清楚地觀察到上面討論的兩個程式所產生的輸出完全相等。程序之間的唯一區別是程序主體內遵循的過程和使用的方法。在第一個程式中,在單一方法中,使用外部陣列一起旋轉元素。在第二個程序中,透過呼叫一個方法,使用兩種不同的方法來依序旋轉元素。這樣就可以對數組的元素進行旋轉。

以上是Python程式旋轉數組元素的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:tutorialspoint.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板