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

站在巨人的肩膀上加油!

posted @ 2020-10-25 08:31  小Aer  阅读(406)  评论(0编辑  收藏  举报