首页 > 开发 > Python > 正文

Python rindex()函数

2023-04-25 12:31:59
字体:
来源:转载
供稿:网友

Python rindex()函数与rfind()函数功能相似,其作用是从字符串查找子串最后一次出现的位置索引。但该函数与rfind函数的区别是:在未找到子串时,rfind()函数返回-1,而rindex()函数将引发ValueError错误。

同时,该函数的功能与index()函数也相似,index()函数默认是从左侧开始搜索子串并返回子串第一次出现的位置索引。

rindex()函数语法格式

官方文档给出的语法格式如下:

str.rindex(sub[, start[, end]])

语法中,str是源字符串,该函数将从 str 中找出子串所在的最高索引值。

参数

sub:是必选参数,待搜索的子字符串,该函数将定位sub在str中最后出现的位置索引;

start:是可选参数,指定在str中开始搜索的起始位置,默认从0开始;

end:是可选参数,指定在str中搜索的截止位置,默认为字符串的长度。

返回值

该函数的返回值是一个整型数字,表示sub子串在str中最后出现的位置索引。

Python中的rindex()函数

rindex()使用示例

1、只给出sub参数

只给出sub参数时,rindex默认从字符串str返回sub最后一次出现的位置索引。

str1 = "我喜欢Python,我也喜欢R,但我更喜欢你。"
print(str1.rindex("喜欢"))
print(str1.rindex("R"),str1.rindex("r"))

上面的输出情况如下:

19
Traceback (most recent call last):
  File "D:/01Lesson/PY/PythonRindex.py", line 3, in <module>
    print(str1.rindex("R"),str1.rindex("r"))
ValueError: substring not found

从上面输出可以看出:(1)第一个例子中有三个喜欢,其索引值分别为1,12和19。从输出结果可以看出,其输出的是最后一个“喜欢”的位置索引;(2)第2个输出发生了ValueError异常,这主要是因为rindex()函数sub参数值是大小写敏感的,其在str中没有找到字符串"r"的值,引发ValueError错误。

 2、使用sub和start参数

start参数给出在字符串str中搜索的起始位置,可以为负数,即从字符串右边往前定位。

str1 = "我喜欢Python,我也喜欢R,但我更喜欢你。"
print(str1.rindex("喜欢", 18))
print(str1.rindex("喜欢", 19))
print(str1.rindex("喜欢", -4))

输出结果如下:

19
19
19

 从上面的三个例子中可以看出,rindex()函数在搜索时包含start出的字符。

3、指定end参数

end 参数给出 rindex 函数搜索的停止位置,搜索范围不包括 end 处的字符。

end 值也可以是负数,即从后往前定位。

str1 = "我喜欢Python,我也喜欢R,但我更喜欢你。"
print(str1.rindex("喜欢", 0, 3))
print(str1.rindex("喜欢", -4, len(str1)))
print(str1.rindex("喜欢", 1, 15))
print(str1.rindex("喜欢", -12, -4))

输出结果如下:

1
19
12
12

Python中其他与rindex()相似的函数

(1)Python find()函数

(2)Python rfind()函数

(3)Python index()函数

本文(完)

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表