如何在 Python 列表中查找一个元素的索引
Azaz Farooq
2023年1月30日
在 Python 中,列表元素是按顺序排列的。我们可以使用索引来访问列表中的任何元素。Python 列表索引从 0 开始。
本文将讨论在 Python 列表中查找元素索引的不同方法。
用 index()
方法查找 Python 列表索引
语法是:
list.index(x, start, end)
这里,start
和 end
是可选的。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]