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]获取第一次出现的索引。

更新于: 2023年5月29日

3K+ 次浏览

开启你的职业生涯

通过完成课程获得认证

开始学习
广告