Python程序:从数组中获取最后给定数量的元素
数组是一种数据结构,包含许多相同数据类型的元素,每个元素都由索引标识。
[2, 4, 0, 5, 8]
Python中的数组
Python本身没有表示数组的数据结构。但是,我们可以使用列表数据结构作为数组的替代品。在这里,我们将使用列表作为数组。
[10, 4, 11, 76, 99]
Python提供了一些模块来更恰当地处理数组,例如NumPy和array模块。
在本文中,我们将了解从数组中访问最后给定数量元素的不同方法。
输入输出场景
假设我们有一个包含9个整数值的输入数组。在输出中,将根据指定的数量访问最后几个项目。
Input array: [1, 2, 3, 4, 5, 6, 7, 8, 9] Output: [7,8,9]
从输入数组中访问最后3个元素7、8、9。
Input array: [10, 21, 54, 29, 2, 8, 1] Output: [29, 2, 8, 1]
从输入数组中检索最后4个元素。
在下面的示例中,我们将主要使用Python的负索引和切片功能来检索最后几个元素。
Python中的负索引
Python也支持负索引,它只是用负号从数组末尾计数元素,从-1开始,而不是从0开始。
[1, 2, 3, 4, 5] -5 -4 -3 -2 -1
第一个元素的索引值为-n,最后一个元素为-1。
Python中的切片
使用Python的切片功能,可以通过最短的语法访问序列中的一组元素。
语法
sequence_object[start : end : step]
起始索引:切片开始的起始索引,默认为0。
结束索引:切片停止的结束索引。默认值为可迭代对象的长度。并且此值不包含在内。
使用列表
通过使用列表切片功能,我们可以访问数组中最后给定数量的元素。
示例
让我们举个例子,并应用列表切片来访问数组中的最后几个元素。
# creating array
lst = [1, 2, 0, 4, 2, 3, 8]
print ("The original array is: ", lst)
print()
numOfItems = 4
# Get last number of elements
result = lst[-numOfItems:]
print ("The last {} number of elements are: {}".format(numOfItems, result))
输出
The original array is: [1, 2, 0, 4, 2, 3, 8] The last 4 number of elements are: [4, 2, 3, 8]
使用负索引从给定数组中访问最后4个元素。
使用NumPy数组
让我们使用NumPy数组来访问最后给定数量的元素。
示例
在这个例子中,我们将借助负索引值来访问NumPy数组的元素。
import numpy
# creating array
numpy_array = numpy.random.randint(1, 10, 5)
print ("The original array is: ", numpy_array)
print()
numOfItems = 2
# get the last element
result = numpy_array[-numOfItems:]
print ("The last {} number of elements are: {}".format(numOfItems, result))
输出
The original array is: [4 6 9 7 5] The last 2 number of elements are: [7 5]
我们已经成功地从NumPy数组中访问了最后2个元素。元素7的索引为-2,元素5的索引为-1。
使用array模块
使用array()方法,我们将创建一个特定数据类型的数组。
示例
在这个例子中,我们将使用array模块创建一个数组。
import array
# creating array
arr = array.array('i', [6, 5, 8, 7])
print ("The original array is: ", arr)
print()
numOfItems = 2
# remove last elements
result = arr[-numOfItems:]
print ("The last {} number of elements are: {}".format(numOfItems, result))
输出
The original array is: array('i', [6, 5, 8, 7])
The last 2 number of elements are: array('i', [8, 7])
从上面的例子可以看出,已成功访问所需数量的元素。如果请求的元素数量超过序列中元素的总数,Python切片不会产生任何错误。
广告
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP