在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 |
如果您不確定子字符串是否存在,則不應使用它 | 當您不確定子字符串是否存在時,這是正確的函數 |
這可以應用於字符串、列表和元組 | 這隻適用於字符串 |
不能與條件語句一起使用 | 它可以與條件語句一起使用,如果找到子字符串則執行語句,如果沒有找到子字符串也可以執行語句 |
相關用法
- Python filter()用法及代碼示例
- Python filecmp.cmpfiles()用法及代碼示例
- Python fileinput.isfirstline()用法及代碼示例
- Python fileinput.lineno()用法及代碼示例
- Python fileinput.filelineno()用法及代碼示例
- Python fileinput.filename()用法及代碼示例
- Python fileinput.input()用法及代碼示例
- Python fileinput.input用法及代碼示例
- Python float()用法及代碼示例
- Python format()用法及代碼示例
- Python frozenset()用法及代碼示例
- Python fmod()用法及代碼示例
- Python frexp()用法及代碼示例
- Python fsum()用法及代碼示例
- Python factorial()用法及代碼示例
- Python focus_set() and focus_get()用法及代碼示例
- Python fabs() vs abs()用法及代碼示例
- Python functools.wraps()用法及代碼示例
- Python floating轉binary用法及代碼示例
- Python float轉exponential用法及代碼示例
- Python fnmatch.fnmatch用法及代碼示例
- Python fnmatch.translate用法及代碼示例
- Python float.is_integer用法及代碼示例
- Python fractions.Fraction.limit_denominator用法及代碼示例
注:本文由純淨天空篩選整理自vijayakumarchinthala大神的英文原創作品 Difference Between find( ) and index( ) in Python。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。