在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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。