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