Python 列表 index() 方法



Python 列表的 index() 方法用于检索指定对象在列表中出现的最低索引。对象可以是任何东西;单个元素或以另一个列表、元组、集合等形式存在的元素集合。

该方法还接受两个可选参数来限制列表中的搜索范围。这两个参数定义搜索的开始和结束位置;基本上就像 Python 中的切片表示法一样。在这种情况下返回的最低索引将相对于起始索引而不是列表的第零个索引。

语法

以下是 Python 列表 index() 方法的语法 -

list.index(obj[, start[, end]])

参数

  • obj - 这是要查找的对象。

  • start - (可选)搜索开始的起始索引。

  • end - (可选)搜索结束的结束索引。

返回值

此方法返回列表中找到对象的第一个索引。如果列表中未找到该对象,则会引发 ValueError。

示例

以下示例显示了 Python 列表 index() 方法的用法。

aList = [123, 'xyz', 'zara', 'abc'];
print("Index for xyz : ", aList.index( 'xyz' )) 
print("Index for zara : ", aList.index( 'zara' ))

当我们运行上面的程序时,它会产生以下结果 -

Index for xyz :  1
Index for zara :  2

示例

现在,如果我们也传递一些值作为可选参数 start 和 end,则该方法会限制在这些索引内的搜索范围。

listdemo = [123, 'a', 'b', 'c', 'd', 'e', 'a', 'g', 'h']
ind = listdemo.index('a', 3, 7)
print("Lowest index at which 'a' is found is: ", ind)

如果我们编译并运行上面的程序,则会获得以下输出 -

Lowest index at which 'a' is found is:  6

示例

但是,这可能会引发一个问题,即如果某个值存在于列表中,但在搜索范围内不存在,则返回值是什么?让我们看看下面这种情况的示例。

listdemo = ['a', 'b', 'c', 'd', 'e', 'g', 'h', 'i']

# The value 'a' is not present within the search range of the list
ind = listdemo.index('a', 2, 5)

# Print the result
print("Lowest index at which 'a' is found is: ", ind)

执行上面的程序将引发 ValueError,因为该值在给定的搜索范围内不存在。

Traceback (most recent call last):
  File "main.py", line 4, in 
    ind = listdemo.index('a', 2, 5)
ValueError: 'a' is not in list

示例

当值在列表中不存在时,通常也会引发 ValueError。这不需要传递可选参数。

listdemo = ['b', 'c', 'd', 'e', 'g', 'h', 'i']

# The value 'a' is not present within the list
ind = listdemo.index('a')

# Print the result
print("Lowest index at which 'a' is found is: ", ind)

在编译上面的程序后,获得的输出如下所示 -

Traceback (most recent call last):
  File "main.py", line 4, in 
    ind = listdemo.index('a')
ValueError: 'a' is not in list
python_lists.htm
广告