2010-07-11 96 views

回答

118

find()

>>> s = "the dude is a cool dude" 
>>> s.find('dude') 
4 
+15

这就是为什么我喜欢蟒蛇 – 2016-05-25 20:53:34

+7

它返回'-1'如果未找到 – 2017-04-27 12:49:03

3

快速概览:indexfind

旁边find方法有以及indexfindindex都产生相同的结果:返回第一个出现的位置,如果没有找到index将引发ValueErrorfind回报-1。在速度上,两者都有相同的基准测试结果。

s.find(t) #returns: -1, or index where t starts in s 
s.index(t) #returns: Same as find, but raises ValueError if t is not in s 

其他知识:rfindrindex

在一般情况下,发现和指数收益率最小的指数,其中传入的字符串开始,rfindrindex返回最大的索引,其中,它开始 大多数字符串搜索算法从搜索从左到右,因此以r开头的函数表示搜索发生从从右到左

所以,如果您正在搜索的元素的可能性接近尾声,而不是列表的开始,rfindrindex会更快。

s.rfind(t) #returns: Same as find, but searched right to left 
s.rindex(t) #returns: Same as index, but searches right to left 

来源:的Python:视觉快速入门指南,托比·唐纳森