如何在 Python 列表中查找一个元素的索引

Azaz Farooq 2023年1月30日 2020年11月7日
  1. index() 方法查找 Python 列表索引
  2. for 循环方法查找 Python 列表索引
  3. 用迭代法查找 Python 列表索引实例
  4. 用列表推导法查找 Python 列表索引的方法
如何在 Python 列表中查找一个元素的索引

在 Python 中,列表元素是按顺序排列的。我们可以使用索引来访问列表中的任何元素。Python 列表索引从 0 开始。

本文将讨论在 Python 列表中查找元素索引的不同方法。

index() 方法查找 Python 列表索引

语法是:

list.index(x, start,end)

这里,startend 是可选的。x 是我们需要在列表中找到的元素。

让我们看下面的例子。

consonants = ['b', 'f', 'g', 'h', 'j', 'k']
i = consonants.index('g')
print('The index of g is:', i)

输出:

The index of g is: 2

请注意,index() 方法只返回指定元素第一次出现的索引。

consonants = ['b', 'f', 'g', 'h', 'j', 'g']
i = consonants.index('g')
print('The index of g is:', i)

输出:

The index of g is: 2

列表中有两个 g,结果显示第一个 g 的索引。

如果一个元素在列表中不存在,它将产生 ValueError

consonants = ['b', 'f', 'g', 'h', 'j', 'k']
i = consonants.index('a')
print('The index of a is:', i)

输出:

ValueError: 'a' is not in list

for 循环方法查找 Python 列表索引

要在 Python 中找到列表中元素的索引,我们也可以使用 for 循环方法。

代码是:

consonants = ['b', 'f', 'g', 'h', 'j', 'k']
check = 'j'
position = -1
for i in range(len(consonants)):
    if consonants[i] == check:
        position = i
        break
if position > -1:
    print("Element's Index in the list is:",position)
else:
    print("Element's Index does not exist in the list:", position)

输出:

Element's Index in the list is: 4

用迭代法查找 Python 列表索引实例

如果我们需要在 Python 中找到指定元素在列表中出现的所有索引,我们必须对列表进行迭代才能得到它们。

代码是:

def iterated_index(list_of_elems, element):
    iterated_index_list = []
    for i in range(len(consonants)):
        if consonants[i] == element:
            iterated_index_list.append(i)
    return iterated_index_list
consonants = ['b', 'f', 'g', 'h', 'j', 'k','g']
iterated_index_list = iterated_index(consonants, 'g')
print('Indexes of all occurrences of a "g" in the list are : ', iterated_index_list)

输出:

Indexes of all occurrences of a "g" in the list are :  [2, 6]

用列表推导法查找 Python 列表索引的方法

我们可以通过使用列表推导法,得到与前一种方法相同的结果。

代码是:

consonants = ['b', 'f', 'g', 'h', 'j', 'k','g']
iterated_index_position_list = [ i for i in range(len(consonants)) if consonants[i] == 'g' ]
print('Indexes of all occurrences of a "g" in the list are : ', iterated_index_position_list)

输出:

Indexes of all occurrences of a "g" in the list are :  [2, 6]

相关文章 - Python List