Python 用于从数组中删除最后给定数量的项目

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从输入数组中删除。

使用List

通过使用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数组,并移除最后两个元素。

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个元素已被移除。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程