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]
从输入数组中访问前3个元素1、2、3。让我们来看一个包含所有字符串元素的数组。
Input array: [‘a’, ‘b’, ‘c’, ‘d’, ‘e’] Output: [‘a’, ‘b’]
从输入数组中检索前2个元素。在下面的示例中,我们将主要使用Python切片功能来检索前几个元素。
切片
切片用于访问序列中的元素组。以下是执行切片的语法:
sequence_object[start : end]
其中:
起始索引 - 切片开始的起始索引。默认为0。
结束索引 - 切片停止的结束索引。默认值为可迭代对象的长度。此值被排除在外。
使用列表
我们可以使用列表切片功能来访问数组中指定数量的前几个元素。
示例
让我们举个例子,并应用列表切片来访问指定数量的前几个元素。
# 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中的前2个元素存储在result变量中。