python中对于find,rfind,index,rindex的见解
find()从左向右寻找子序列的位置,如存在多个相同子序列只返回第一个查找到的位置,如果子序列不存在返回-1。
rfind()从右向左寻找子序列的位置,如存在多个相同子序列只返回第一个查找到的位置,如果子序列不存在返回-1,其实可以理解为从左向右找到最后一个查找到的位置。
index()从左向右寻找子序列的位置,如果子序列不存在报错,所以一般我们用find()更好一些。
rindex()从右向左寻找子序列的位置,如果子序列不存在报错。
1.find,rfind
a = "hello world"
a1 = a.find("l")
a2 = a.rfind("v")
print(a1)
print(a2)
输出:
2
-1
2.index,rindex
b = "hello world"
b1 = b.index("l")
b2 = b.rindex("v")
print(b1)
print(b2)
输出:
2
Traceback (most recent call last):
File "test.py", line 3, in <module>
b2 = b.index("v")
ValueError: substring not found
站在巨人的肩膀上加油!