在 Python 中,我们可以使用多种技术来获取列表项的索引,例如函数enumerate()、for循环和index()方法。
在本文中,我们将重点介绍如何使用 方法获取列表中项目的索引index()。
我们将从查看该方法的语法开始index(),然后查看一些示例以帮助您了解如何在您的代码中使用它。
Python 中方法的语法是什么index()?
该index()方法接受其索引将作为参数返回的项目。但这不是您可以在该index()方法中使用的唯一参数。
语法如下所示:
list.index(item, start, end)
以下是上述参数的细分:
item表示要搜索其索引的项。
start,这是一个可选参数,表示项目搜索开始的起点。当您有一个重复的项目时,这很有用。
end表示搜索项目索引应停止/结束的索引。此参数也是可选的。
如何获取列表中项目的索引.index()
在本节中,您将了解如何使用该index()方法获取列表中项目的索引。您还将了解如何使用所有参数。
这是第一个例子:
listOfNames = [‘John’, ‘Jane’, ‘Doe’, ‘Ihechikara’]
print(listOfNames.index(‘Jane’))
1
在上面的代码中,我们创建了一个名称列表:listOfNames = [‘John’, ‘Jane’, ‘Doe’, ‘Ihechikara’]。
使用该index()方法,我们得到了列表中“Jane”的索引:listOfNames.index(‘Jane’)
打印到控制台时,打印出了 1。
如果您不明白为什么返回 1,请注意列表是零索引的——因此第一项是 0,第二项是 1,依此类推。那是:
‘John’ => 索引 0
‘Jane’ => 索引 1
‘Doe’ => 索引 2
‘Ihechikara’ => 索引 3
如何在 Python 的方法中使用start和end参数index()
在本节中,您将看到如何在方法中使用start和参数。endindex()
listOfNames = [‘John’, ‘Jane’, ‘Doe’, ‘Ihechikara’, ‘John’, ‘Jane’, ‘Doe’, ‘Ihechikara’]
print(listOfNames.index(‘Jane’, 2))
5
在上面的列表中,我们有具有重复值的名称:[‘John’, ‘Jane’, ‘Doe’, ‘Ihechikara’, ‘John’, ‘Jane’, ‘Doe’, ‘Ihechikara’].
但是我们想要获得第二个“简”项的索引。知道第一个“Jane”项的索引是 1,我们可以从该项之后开始搜索。
因此,为了从第一个“Jane”项之后的索引开始搜索,我们向该index()方法添加了另一个参数:listOfNames.index(“Jane”, 2)。现在搜索值为“Jane”的项目的索引将从索引 2 开始。
我们返回了 5,因为这是第二个“Jane”项目的索引。如果不指定起始索引,该index()方法将返回指定项的第一个索引。
下面是第二个示例,供您了解如何使用该end()参数:
listOfNames = [‘John’, ‘Jane’, ‘Doe’, ‘Ihechikara’, ‘John’, ‘Jane’, ‘Doe’, ‘Ihechikara’]
print(listOfNames.index(“Jane”, 2,4))
ValueError: ‘Jane’ is not in list
在上面的示例中,我们将索引 2 指定为索引start,将索引 4 指定为end索引。我们正在指定范围内(索引 2 和 4)搜索“Jane”的索引。
我们收到错误返回:ValueError: ‘Jane’ is not in list。这是因为“简”不在指定范围内。
回想一下,我们从索引 2 开始,所以:
索引 2 ( startindex) => ‘Doe’
索引 3 => ‘Ihechikara’
索引 4 ( endindex) => ‘John’
从上面的索引可以看出,范围内不存在“Jane”,因此返回错误。
在以下情况下,您会在列表中收到 ValueError:
列表中不存在正在搜索的项目。
正在搜索的项目不在指定的搜索(开始和结束)范围内。
概括
在本文中,我们讨论了index()Python 中的方法。您可以使用它来查找列表中项目的索引。
我们看到了一些示例,这些示例展示了如何使用该index()方法及其start参数end。