Python程序查找数组中指定元素首次出现的索引
数组是一种数据结构,用于按顺序存储相同数据类型的元素。存储的元素由索引值标识。Python没有特定的数据结构来表示数组。但是,我们可以使用列表数据结构或Numpy模块来处理数组。
在本文中,我们将看到多种方法来获取数组中指定元素首次出现的索引。
输入输出场景
现在让我们来看一些输入输出场景。
假设我们有一个包含一些元素的输入数组。在输出中,我们将获得指定值的首次出现的索引。
Input array: [1, 3, 9, 4, 1, 7] specified value = 9 Output: 2
指定的元素9仅在数组中出现一次,该值的索引结果为2。
Input array: [1, 3, 6, 2, 4, 6] specified value = 6 Output: 2
给定的元素6在数组中出现两次,第一次出现的索引值为2。
使用list.index()方法
list.index()方法可帮助您查找数组中给定元素首次出现的索引。如果列表中存在重复元素,则返回该元素的第一个索引。以下是语法:
list.index(element, start, end)
第一个参数是我们想要获取索引的元素,第二个和第三个参数是可选参数,用于指定我们搜索给定元素的起始和结束位置。
list.index()方法返回一个整数值,它是我们传递给该方法的给定元素的索引。
示例
在上面的示例中,我们将使用index()方法。
# creating array arr = [1, 3, 6, 2, 4, 6] print ("The original array is: ", arr) print() specified_item = 6 # Get index of the first occurrence of the specified item item_index = arr.index(specified_item) print('The index of the first occurrence of the specified item is:',item_index)
输出
The original array is: [1, 3, 6, 2, 4, 6] The index of the first occurrence of the specified item is: 2
给定的值6在数组中出现两次,但index()方法仅返回第一次出现值的索引。
使用for循环
类似地,我们可以使用for循环和if条件来获取数组中第一个位置出现的指定元素的索引。
示例
在这里,我们将使用for循环迭代数组元素。
# creating array arr = [7, 3, 1, 2, 4, 3, 8, 5, 4] print ("The original array is: ", arr) print() specified_item = 4 # Get the index of the first occurrence of the specified item for index in range(len(arr)): if arr[index] == specified_item: print('The index of the first occurrence of the specified item is:',index) break
输出
The original array is: [7, 3, 1, 2, 4, 3, 8, 5, 4] The index of the first occurrence of the specified item is: 4
给定的值4在数组中重复出现,但上面的示例仅返回第一次出现值的索引。
使用numpy.where()
numpy.where()方法用于根据给定条件过滤数组元素。通过使用此方法,我们可以获取给定元素的索引。以下是语法:
numpy.where(condition, [x, y, ]/)
示例
在此示例中,我们将使用numpy.where()方法以及一个条件。
import numpy as np # creating array arr = np.array([2, 4, 6, 8, 1, 3, 9, 6]) print("Original array: ", arr) specified_index = 6 index = np.where(arr == specified_index) # Get index of the first occurrence of the specified item print('The index of the first occurrence of the specified item is:',index[0][0])
输出
Original array: [2 4 6 8 1 3 9 6] The index of the first occurrence of the specified item is: 2
条件arr == specified_index检查NumPy数组中是否存在给定元素,并返回一个数组,其中包含满足给定条件或为True的元素。从该结果数组中,我们可以通过使用index[0][0]获取第一次出现的索引。
广告