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个元素。

更新于: 2023年5月29日

102次查看

开启你的职业生涯

通过完成课程获得认证

立即开始
广告