Python陣列


陣列是一個容器,它可以容納一定數量的專案,這些專案是相同的型別。 大部分資料結構都使用陣列來實現它們的演算法。 以下是理解陣列(Array)概念的重要術語。

  • 元素 - 儲存在陣列中的每個專案稱為元素。
  • 索引 - 陣列中元素的每個位置都有一個數位索引,用於標識元素。

陣列表示

陣列可以用不同的語言,可以各種方式宣告。下面是一個例子。

根據上述說明,需要了解清楚以下問題。

  • 索引從0開始。
  • 陣列長度為10,這意味著它可以儲存10個元素。
  • 每個元素都可以通過索引存取。 例如,可以在索引6處獲取一個元素的值為9

基本操作

以下是陣列支援的基本操作。

  • 遍歷 - 逐個列印所有陣列元素。
  • 插入 - 在給定的索引處新增一個元素。
  • 刪除 - 刪除給定索引處的元素。
  • 搜尋 - 使用給定索引或值搜尋元素。
  • 更新 - 更新給定索引處的元素。

通過將陣列模組匯入到python程式中來建立陣列,陣列宣告如下所示 -

from array import *

arrayName = array(typecode, [Initializers])

typecode是用於定義陣列將儲存的值型別的程式碼。 一些常用的typecodes使用如下:

Typecode
b 表示大小為1位元組的有符號整數
B 表示大小為1位元組的無符號整數
c 表示大小為1位元組的字元
i 表示大小為2個位元組的帶符號整數
I 表示大小為2個位元組的無符號整數
f 表示大小為4位元組的浮點
d 表示大小為8個位元組的浮點

在檢視各種陣列操作之前,可以使用python建立和列印陣列。
下面的程式碼建立一個名稱為array1的陣列。

from array import *

array1 = array('i', [10,20,30,40,50])

for x in array1:
    print(x)

執行上面範例程式碼,得到以下結果 -

10
20
30
40
50

1. 存取陣列元素

可以使用元素的索引來存取陣列中的每個元素。 以下程式碼顯示了如何存取陣列中的指定元素 -

from array import *

array1 = array('i', [10,20,30,40,50])

# 存取第一個元素
print (array1[0])
# 存取第三個元素
print (array1[2])

當編譯並執行上述程式時,它會產生以下結果 -

10
30

2. 插入操作

插入操作是將一個或多個資料元素插入到陣列中。 根據需要,可以在開始,結束或任何給定的陣列索引中新增/插入一個新元素。

在這裡,使用python內建insert()方法在陣列中間新增一個資料元素。

from array import *

array1 = array('i', [10,20,30,40,50])

array1.insert(1,60)

for x in array1:
    print(x)

執行上面範例程式碼,得到以下結果 -

10
60
20
30
40
50

3. 刪除元素操作

刪除是指從陣列中刪除現有元素並重新組織陣列的所有元素。
在這裡,使用python內建remove()方法來刪除陣列中的資料元素。參考以下程式碼實現 -

from array import *

array1 = array('i', [10,20,30,40,50])

array1.remove(40)

for x in array1:
    print(x)

執行上面範例程式碼,得到以下結果 -

10
20
30
50

4. 查詢/搜尋操作

可以根據其值或索引來執行陣列元素的搜尋(查詢)。
在這裡,使用python內建index()方法來搜尋陣列中的元素。

from array import *

array1 = array('i', [10,20,30,40,50])

print (array1.index(40))

執行上面範例程式碼,得到以下結果 -

3

注意:如果該值不在陣列中,則返回一個錯誤。

5. 更新操作

更新操作是指在給定索引處更新陣列中的現有元素。
在這裡,只需重新分配一個新的值給想要更新的所需索引即可。

from array import *

array1 = array('i', [10,20,30,40,50])

array1[2] = 180

for x in array1:
    print(x)

執行上面範例程式碼,得到以下結果 -

10
20
180
40
50