Python程式移除陣列中最後指定數量的元素
陣列是一種資料結構,用於儲存一組相同資料型別的元素。陣列中的每個元素都由鍵或索引值標識。
Python中的陣列
Python沒有原生資料結構來表示陣列。但是,我們可以使用列表來表示陣列。
[1, 2, 3, 4, 5]
我們也可以使用array或NumPy模組來處理Python中的陣列。
由array模組定義的陣列為:
array('i', [1, 2, 3, 4])
由NumPy模組定義的NumPy陣列為:
array([1, 2, 3, 4])
Python索引從0開始。上面所有陣列的索引從0到(n-1)。
負索引
Python也支援負索引,它表示從陣列的末尾開始計數。
[1, 2, 3, 4, 5] -5 -4 -3 -2 -1
第一個元素由索引值-n標識,最後一個元素為-1。在下面大多數示例中,我們將使用負索引來移除最後指定數量的元素。
輸入輸出場景
假設我們有一個包含9個整數值的輸入陣列。在輸出中,將根據指定的數量移除最後的幾個元素。
Input array: [1, 2, 3, 4, 5, 6, 7, 8, 9] Output: [1, 2, 3, 4, 5, 6]
從輸入陣列中移除最後的3個元素7、8、9。
使用列表
透過使用Python的list.pop()方法,我們可以移除陣列的最後一個元素。以下是執行此操作的語法:
list.pop(index)
pop()方法從給定索引中移除一個元素並返回被移除的元素,預設情況下它移除最後一個元素。
示例
在這個示例中,我們將迭代for迴圈直到給定的數字,然後從陣列中移除最後的元素。
# creating array
lst = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
print ("The original array is: ", lst)
print()
numOfItems = 4
# remove last elements
for i in range(numOfItems):
lst.pop()
print ("The result is: ", lst)
輸出
The original array is: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] The result is: [1, 2, 3, 4, 5, 6]
從陣列中移除最後的4個元素7、8、9、10。
示例
讓我們舉個例子,並應用列表切片來移除陣列中的最後一個元素。
# creating array
lst = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
print ("The original array is: ", lst)
print()
numOfItems = 4
# remove last elements
result = lst[:-numOfItems]
print ("The result is: ", result)
輸出
The original array is: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] The result is: [1, 2, 3, 4, 5, 6]
透過使用列表負索引和切片技術,我們已經從給定陣列中移除了最後的4個元素。這裡原始陣列列表不會受到影響,保持不變。
使用NumPy陣列
透過使用numpy模組和切片技術,我們可以輕鬆地從陣列中移除指定數量的元素。以下是語法:
Numpy_array_obj[start:stop:step]
示例
讓我們取一個NumPy陣列並移除最後的2個元素。
import numpy
# creating array
numpy_array = numpy.random.randint(1, 10, 5)
print ("The original array is: ", numpy_array)
print()
numOfItems = 2
# remove last elements
result = numpy_array[:-numOfItems]
print ("The result is: ", result)
輸出
The original array is: [1 7 9 4 9] The result is: [6 6 3]
我們已經成功地使用負索引從numpy陣列中移除了最後的2個元素。
使用array模組
Python array模組也支援陣列索引和切片技術來訪問元素。
示例
在這個示例中,我們將使用array模組建立一個數組。
import array
# creating array
arr = array.array('i', [2, 4, 6, 8, 10])
print ("The original array is: ", arr)
print()
numOfItems = 2
# remove last elements
result = arr[:-numOfItems]
print ("The result is: ", result)
輸出
The original array is: array('i', [2, 4, 6, 8, 10])
The result is: array('i', [2, 4, 6])
從陣列中移除最後的2個元素。
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP