python find() 和 index() 方法
2018-09-26 本文已影响11人
一只酸柠檬精
find() 方法
字符串方法
str.find(str, beg=0, end=len(string))
检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,如果指定范围内如果包含指定索引值,返回的是索引值在字符串中的起始位置。如果不包含索引值,返回-1。
a = 'Hello,World'
print(a.find('h'))
print(a.find('l'))
print(a.find('or'))
#输出
-1
2
7
可见,find()方法对大小写是敏感的,没有就返回-1,另外只返回字符串的索引值的起始位置.
index()方法
字符串方法
str.index(str, beg=0, end=len(string))
index() 方法检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,该方法与 python find()方法一样,只不过如果str不在 string中会报一个异常。
a = 'Hello,World'
print(a.index('l'))
print(a.index('or'))
print(a.index('h'))
#输出
Traceback (most recent call last):
2
7
File "/Users/yanpeng/PycharmProjects/leetcode/justfortest.py", line 100, in <module>
print(a.index('h'))
ValueError: substring not found
可见,find()方法对大小写也是敏感的
总结
所以index()和find()方法在具体用法上并无区别,只是在没有找到指定字符串的时候index()会抛出一个异常,而find()会返回 -1。