Python index() 与 rindex() 方法的使用示例详解
简介
Python字符串类型对象提供了许多方便的方法,其中包括index()
和rindex()
。这两个方法都用于查找一个字符串变量中所包含的另一个字符串变量,并返回第一次(index()
)或最后一次(rindex()
)出现的索引位置。
index() 方法
语法:str.index(sub[, start[, end]])
该方法返回子字符串sub在字符串str中第一次出现的索引位置。如果没有找到则会引发异常。
下面是一个基本的用例:
str = "hello world!"
print(str.index("world")) # 打印结果为 6
index()
方法还有两个可选参数:start
和end
。它们表示查找的起始和结束位置。例如:
str = "hello world!"
print(str.index("l", 3, 7)) # 打印结果为 3
这个例子中,从第4个位置(即"o"
所在的位置)开始查找,到第8个位置结束(不包括它)。因此,子字符串"l"
在第5个位置处第一次出现,所以返回3。请注意,这里的索引值是从零开始计数的。
rindex() 方法
语法:str.rindex(sub[, start[, end]])
这个跟index()
方法差不多,只不过它查找最后一次出现的位置。
下面是一个用例:
str = "hello world!"
print(str.rindex("o")) # 打印结果为 7
可以看到,最后一个"o"
出现在字符串的第8个位置(从零开始计数),因此输出了7。
下面是稍微复杂一些的用例:
str = "hello world!"
try:
print(str.rindex("x"))
except ValueError:
print("Can't find it!")
这个例子中,查找的子字符串"x"
在原字符串中并不存在。这会导致rindex()
方法引发一个ValueError
异常。因此,程序会输出Can't find it!
。
总结
上述是index()
和rindex()
方法的基础用法。这两个方法都非常方便,并且常用于各种程序中。当我们需要查找某个子字符串在另一个字符串中所处的位置时,索引方法就是一个很好的选择。可以用它来找到一个单词在长字符串中的位置,或者在解析HTML时查找标签等。