Python程式獲取陣列中指定索引範圍內的子陣列


陣列是一種同構資料結構,用於儲存一組相同資料型別的元素。陣列中的每個元素都由鍵或索引值標識。

子陣列

子陣列定義為陣列中連續元素的一小部分。如果我們取一個包含5個整數元素的陣列,如下所示。

[9, 3, 1, 6, 9]

那麼子陣列將是 -

[9, 3]
[9, 3, 1] 
[3, 1, 6, 9]

Python中的陣列

在Python中,我們沒有特定的資料結構來表示陣列。但是,我們可以使用列表來表示陣列。

 [1, 2, 3, 4, 5]

我們還可以使用array或NumPy模組在python中處理陣列。

array模組定義的陣列。

array('i', [1, 2, 3, 4])

NumPy模組定義的NumPy陣列。

array([1, 2, 3, 4])

以上所有陣列都從索引0開始到(n-1)結束。

在本文中,我們將看到多種方法,使用指定的索引範圍從陣列中獲取子陣列。

輸入輸出場景

假設我們有一個包含9個整數值的輸入陣列。輸出將是從索引1到4的子陣列。

Input array:
[1, 2, 3, 4, 5, 6, 7, 8, 9]
Output:
[2, 3, 4]

主要我們將使用python的切片功能從陣列中獲取子陣列。切片用於選擇可迭代物件的一系列項。

語法

iterable_obj[start:stop:step]

使用列表切片

我們可以使用列表切片來獲取子陣列。以下是執行此操作的語法 -

list_object[start : end : step]

其中,

  • 開始  列表切片開始的起始索引。預設值為0。

  • 結束  列表切片停止的結束索引。請注意,此索引的值不屬於最終結果的一部分。預設值為可迭代物件長度。

  • 步長  預設值為1。起始索引的增量。

示例

從以下示例中,我們可以看到一個數組和兩個索引arr[1:7],用於從這些位置選擇子陣列。

# creating array
arr = [2, 5, 6, 7, 1, 9, 2, 0]
print ("The original array is: ", arr) 
print() 
# get the subarray 
result = arr[1:7]
print ("The subarray is: ", result) 

輸出

The original array is:  [2, 5, 6, 7, 1, 9, 2, 0]
The subarray is:  [5, 6, 7, 1, 9, 2]

使用NumPy陣列

在NumPy陣列中,切片允許我們指定一系列索引,以從更大的陣列中獲取子陣列。NumPy陣列元素也像python列表一樣進行索引。第一個元素的索引為0,最後一個元素的索引為n-1。

語法

numpyArray[start : end]

其中,

  • 開始  陣列切片開始的起始索引。

  • 結束  陣列切片停止的結束索引。

示例

以下是一個例子 -

import numpy as np
# creating array
arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]
print ("The original array is: ", arr) 
print() 
# get the subarray 
result = arr[1:4]
print ("The subarray is: ", result) 

輸出

The original array is:  [1, 2, 3, 4, 5, 6, 7, 8, 9]
The subarray is:  [2, 3, 4]

我們成功地獲取了一個子陣列,從第1個索引開始到第4個索引(不包括最後一個第4個索引)。

使用Array模組

python array模組也支援陣列切片,因此我們可以輕鬆地從大陣列中獲取子陣列。以下是語法 -

語法

array[start : end]

其中,

  • 開始  陣列切片開始的起始索引。

  • 結束  陣列切片停止的結束索引。

示例

在下面的示例中,我們成功地使用python array模組及其切片技術從索引1-8獲取了子陣列。

import array
# creating array
arr = array.array('i',[1, 2, 3, 4, 5, 6, 7, 8, 9])
print ("The original array is: ", arr) 
print() 

# get the subarray 
result = arr[1:8]
print ("The subarray is: ", result) 

輸出

The original array is:  array('i', [1, 2, 3, 4, 5, 6, 7, 8, 9])

The subarray is:  array('i', [2, 3, 4, 5, 6, 7, 8])

更新於: 2023年5月29日

12K+ 瀏覽量

開啟你的職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.