2014-03-05 77 views
26

我是python的新手,無法完全理解find和index之間的區別。查找和索引之間的區別

>>> line 
'hi, this is ABC oh my god!!' 
>>> line.find("o") 
16 
>>> line.index("o") 
16 

它們總是返回相同的結果。 謝謝!

回答

38

str.find返回-1當它沒有找到子字符串。

>>> line = 'hi, this is ABC oh my god!!' 
>>> line.find('?') 
-1 

雖然str.index提高ValueError

>>> line.index('?') 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
ValueError: substring not found 

兩個功能相同的行爲方式,如果一個子串中發現。

+1

如果找到子字符串,那麼這兩個函數的行爲方式是一樣的嗎? – SohamC

+0

@ user1603970,是的,他們有。他們的參數也是一樣的。 – falsetru

+0

@ user1603970,根據我在答案中鏈接的'index'文檔:與find()類似,但在找不到子字符串時引發ValueError。 – falsetru

-3

您可以通過閱讀website瞭解如何實施findindex函數。

您可以使用相同的通用函數找到這兩個函數,只是返回結果不同而已。

+2

僅鏈接答案會在鏈接斷開時失去其價值。 –

相關問題