當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python find()和index()的區別用法及代碼示例


在Python中,要查找字符串中子字符串的索引,可以通過Python的內置函數使用find()或index()來定位。它們都返回字符串中子字符串的起始索引(如果存在)。本文討論何時使用哪一種以及為何使用。

index()函數

index() 方法返回字符串內子字符串或字符的索引(如果找到)。如果未找到子字符串或字符,則會引發異常。

用法:

string.index(<substring>)

例子:

Python3


string = 'geeks for geeks'
  
# returns index value 
result = string.index('for') 
print("Substring for:", result) 
  
result3 = string.index("best") 
print("substring best:", result3) 

輸出:

Substring for: 6

Traceback (most recent call last):

 File “<string>”, line 8, in <module>

ValueError: substring not found

find()方法

find() 方法返回子字符串或字符(如果找到)第一次出現的索引。如果沒有找到,則返回-1。

用法:

string.find(<substring>)

例子:

Python3


string = 'geeks for geeks'
  
# returns index value 
result = string.find('for') 
print("Substring for:", result) 
  
result = string.find('best') 
print("Substring best:", result) 

輸出:

Substring for: 6

Substring best: -1

index() 與 find() 之間的差異表

index() find()
如果未找到子字符串則返回異常 如果未找到子字符串,則返回 -1
如果您不確定子字符串是否存在,則不應使用它 當您不確定子字符串是否存在時,這是正確的函數
這可以應用於字符串、列表和元組 這隻適用於字符串
不能與條件語句一起使用 它可以與條件語句一起使用,如果找到子字符串則執行語句,如果沒有找到子字符串也可以執行語句

相關用法


注:本文由純淨天空篩選整理自vijayakumarchinthala大神的英文原創作品 Difference Between find( ) and index( ) in Python。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。