2010-07-11 91 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:視覺快速入門指南,託比·唐納森