Python 从数组中获取最后给定数量的项目

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]
  • start:可迭代对象切片开始的索引。默认为0。

  • end:列表切片停止的结束索引。默认值为可迭代对象的长度。这个值是排除在外的。

使用列表

通过使用列表切片功能,我们可以从数组中访问最后给定的几个元素。

示例

让我们举一个示例,并应用列表切片来访问数组的最后几个元素。

# 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数组中访问了最后两个元素。元素 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切片不会生成任何错误。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程