Python index() 语法
index() 是 Python 列表的一个方法,它用于获取列表中某个元素首次出现的下标(即索引)。
语法:
list.index(value, start=0, end=len(list))说明:
list 是一个列表,index() 方法接收 3 个参数。
value(必选):表示要搜索的元素。start(可选,默认:0):表示开始下标(包含)。end(可选,默认:列表末尾):表示结束下标(不包含)。
如果 start 和 end 这两个参数省略,则表示检索整个列表。
如果列表中存在重复的元素,就返回它第一次出现的下标;如果不存在这个元素,则会引发 ValueError 异常。
提示: index() 方法不会修改原列表。
Python index() 摘要
| 使用频率 | 中 |
|---|---|
| 修改原列表 | 否 |
| 时间复杂度 | O(n)(n为搜索范围内的元素个数) |
| 官方文档 | 查看 |
| 相关方法 | count() |
Python index() 示例
接下来,我们通过几个简单的例子来讲解一下 Python index() 方法是如何使用的。
示例 1:没有重复元素的 index()
animals = ['ant', 'bee', 'cat', 'dog', 'ewe']
n = animals.index('dog')
print(n)运行结果如下。
3示例 2:有重复元素的 index()
nums = [3, 8, 32, 8, 59]
n = nums.index(8)
print(n)运行结果如下。
1分析:
列表 nums 中有两个 8,但使用 index() 方法只会返回第一个 8 的下标。
示例 3:不存在元素的 index()
languages = ['Python', 'Java', 'Go']
result = languages.index('Rust')
print(result)运行结果如下。
(报错)ValueError: 'Rust' is not in list分析:
使用 index() 方法是存在一定隐患的,因为如果元素不存在,就会导致程序直接报错。
示例 4:index() 带 start 和 end
letters = ['l', 'v', 'y', 'e', 'n', 'e', 't']
# 只有 start
result1 = letters.index('e', 4)
print(result1)
# 有 start 和 end
result2 = letters.index('e', 0, 4)
print(result2)运行结果如下。
5
3分析:
index('e', 4) 的检索范围为:从下标 4 到结尾(包含下标 4)。index('e', 0, 4) 的检索范围为:[0, 4),包含 0 但不包含 4。
示例 5:index() 使用负数索引
data = ['a', 'b', 'c', 'd', 'e', 'a']
result = data.index('a', -3)
print(result)运行结果如下。
5分析:
data.index('a', -3) 中的 “-3” 会转换为正索引 “3”,即 len(data) = 6、-3 + 6 = 3。因此这里表示从索引 3 开始找到的 'a'。
