当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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