Python - 反轉陣列



反轉陣列是指以相反的順序重新排列陣列元素的操作。在 Python 中,反轉陣列的方法和途徑有很多,包括 `reverse()` 和 `reversed()` 方法。

在 Python 中,陣列 不是內建資料型別之一。但是,Python 的標準庫具有 `array` 模組,該模組幫助我們建立字串、整數或浮點數型別的同質集合。

Reverse Array Operation Python

在 Python 中反轉陣列的方法

要反轉陣列,可以使用以下方法:

  • 使用切片操作
  • 使用 `reverse()` 方法
  • 使用 `reversed()` 方法
  • 使用 for 迴圈

使用切片操作

切片操作是從指定索引內提取陣列一部分的過程。在 Python 中,如果我們使用 [::-1] 形式的切片操作,則它將透過反轉原始陣列來顯示一個新陣列。

在這個過程中,直譯器從末尾開始,向後遞減 1,直到到達陣列的開頭。結果,我們得到了原始陣列的反向副本。

示例

下面的示例演示瞭如何在 Python 中使用切片操作反轉陣列。

import array as arr

# creating array
numericArray = arr.array('i', [88, 99, 77, 55, 66])

print("Original array:", numericArray)
revArray = numericArray[::-1]
print("Reversed array:",revArray)

執行程式碼後,將產生以下輸出:

Original array: array('i', [88, 99, 77, 55, 66])
Reversed array: array('i', [66, 55, 77, 99, 88])

使用 `reverse()` 方法反轉陣列

我們還可以使用列表類的`reverse()` 方法反轉陣列中的數字序列。這裡,列表是 Python 中的內建型別。

由於 `reverse()` 是列表類的方法,我們不能直接用它來反轉透過 Python `array` 模組建立的陣列。我們必須首先使用 `array` 類的 `tolist()` 方法將陣列的內容轉換為列表,然後呼叫 `reverse()` 方法,最後,當我們將列表轉換回陣列時,我們得到一個順序反轉的陣列。

示例

這裡,我們將看到在 Python 中使用 `reverse()` 方法反轉陣列。

import array as arr

# creating an array
numericArray = arr.array('i', [10,5,15,4,6,20,9])
print("Array before reversing:", numericArray)

# converting the array into list
newArray = numericArray.tolist()

# reversing the list
newArray.reverse()

# creating a new array from reversed list
revArray = arr.array('i', newArray)
print ("Array after reversing:",revArray)

這將產生以下輸出

Array before reversing: array('i', [10, 5, 15, 4, 6, 20, 9])
Array after reversing: array('i', [9, 20, 6, 4, 15, 5, 10])

使用 `reversed()` 方法反轉陣列

`reversed()` 方法是反轉陣列元素的另一種方法。它接受一個數組作為引數值,並返回一個迭代器物件,該物件以反向順序顯示陣列元素。

示例

在這個例子中,我們使用 `reversed()` 方法在 Python 中反轉陣列。

import array as arr

# creating an array
numericArray = arr.array('i', [12, 10, 14, 16, 20, 18])
print("Array before reversing:", numericArray)

# reversing the array
newArray = list(reversed(numericArray))

# creating a new array from reversed list
revArray = arr.array('i', newArray)
print ("Array after reversing:",revArray)

執行上述程式碼後,將顯示以下輸出:

Array before reversing: array('i', [12, 10, 14, 16, 20, 18])
Array after reversing: array('i', [18, 20, 16, 14, 10, 12])

使用 for 迴圈

要使用 for 迴圈 反轉陣列,我們首先反向遍歷原始陣列的元素,然後將每個元素追加到一個新陣列。

示例

以下示例顯示瞭如何使用 for 迴圈在 Python 中反轉陣列。

import array as arr
a = arr.array('i', [10,5,15,4,6,20,9])
b = arr.array('i')
for i in range(len(a)-1, -1, -1):
   b.append(a[i])
print(a)
print(b)

這將產生以下輸出

array('i', [10, 5, 15, 4, 6, 20, 9])
array('i', [9, 20, 6, 4, 15, 5, 10])
廣告