Python 从数组中获取给定数量的第一个项目
数组是一种具有相同数据类型的一组项目的数据结构,每个元素由索引标识。
Python中的数组
Python没有自己的数据结构来表示数组。但是,我们可以使用列表数据结构作为数组的替代方案。在这里,我们将使用列表作为数组-
[10, 4, 11, 76, 99]
Python还提供了一些更合适的模块,其中包括Numpy和array模块。
使用array模块定义的整数数组是:
array('i', [1, 2, 3, 4])
由NumPy模块定义的NumPy数组是 –
array([1, 2, 3, 4])
在本文中,我们将看到如何从数组中获取给定数量的第一个项目。
输入输出场景
假设我们有一个包含9个整数值的输入数组。在输出中,根据指定的数量,首几个项目被访问。
Input array:
[1, 2, 3, 4, 5, 6, 7, 8, 9]
Output:
[1, 2, 3]
第1、2、3个元素从输入数组中访问。让我们取一个所有元素都是字符串的数组。
Input array:
[‘a’, ‘b’, ‘c’, ‘d’, ‘e’]
Output:
[‘a’, ‘b’]
首先从输入数组中检索前两个项。在下面的示例中,我们将主要使用Python的切片功能来检索前几个元素。
切片
切片用于访问序列中的一组元素。以下是执行切片的语法 –
sequence_object[start : end]
其中,
- Start – 切片开始的起始索引。默认值为0。
-
End – 切片的结束索引。默认值为可迭代对象的长度,且不包含该值。
使用列表
我们可以使用列表切片功能来访问数组中给定数量的第一个元素。
示例
让我们举一个示例,使用列表切片来访问给定数量的第一个元素。
# creating array
lst = [1, 2, 0, 4, 1, 2, 3, 8]
print ("The original array is: ", lst)
print()
numOfItems = 4
# Get first number of elements
result = lst[:numOfItems]
print ("The first {} number of elements are: {}".format(numOfItems, result))
输出
The original array is: [1, 2, 0, 4, 1, 2, 3, 8]
The first 4 number of elements are: [1, 2, 0, 4]
对于给定的数组,使用lst[:numOfItems]语法从中访问前4个元素,并将这些元素存储在result变量中。
示例
在这个示例中,我们将试图从一个数组中访问超过数量的元素。
# creating array
lst = [1, 2, 0]
print ("The original array is: ", lst)
print()
numOfItems = 4
# Get first number of elements
result = lst[:numOfItems]
print ("The first {} number of elements are: {}".format(numOfItems, result))
输出
The original array is: [1, 2, 0]
The first 4 number of elements are: [1, 2, 0]
请求的物品数量与数组列表中可用物品的总数相比较。切片对象 lst[:numOfItems] 不会引发错误,而是只显示可用的元素。
使用NumPy数组
与列表一样,我们也可以使用NumPy数组来访问数组元素。
示例
在这个示例中,我们将尝试使用数组切片功能从一个NumPy数组中获取前2个元素。
import numpy
# creating array
numpy_array = numpy.array([1, 3, 5, 6, 2, 9, 8])
print ("The original array is: ", numpy_array)
print()
numOfItems = 2
# get first number of elements
result = numpy_array[:numOfItems]
print ("The result is: ", result)
输出
The original array is: [1 3 5 6 2 9 8]
The result is: [1 3]
numpy数组对象访问前两个元素是1、3。
使用array模块
array模块是Python内置模块,用于使用array()方法定义数组对象。
示例
在此示例中,我们将使用array模块创建一个整数数组。
import array
# creating array
arr = array.array('i', [2, 1, 4, 3, 6, 5, 8, 7])
print ("The original array is: ", arr)
print()
numOfItems = 2
# remove first elements
result = arr[:numOfItems]
print ("The result is: ", result)
输出
The original array is: array('i', [2, 1, 4, 3, 6, 5, 8, 7])
The result is: array('i', [2, 1])
将输入数组arr的前两个元素存储在结果变量中。