📜  Python中find()和index()的区别(1)

📅  最后修改于: 2023-12-03 14:46:32.464000             🧑  作者: Mango

Python中find()和index()的区别

在Python中,字符串类型有两个方法来寻找子字符串的位置:find()index(),这两个方法看起来很相似,但是它们有一些不同的特点。

find()方法

find()方法在一个字符串中寻找另一个子字符串的位置。如果找到了这个子字符串,就返回它的起始索引值。如果没有找到,就返回-1。

string = "Hello, World!"
position = string.find("World")
print(position) # 7

如果要在字符串中搜索的子字符串不在字符串中,find()方法就会返回-1。

string = "Hello, World!"
position = string.find("Python")
print(position) # -1
index()方法

index()方法和find()方法很相似,但是有一些关键的区别。和find()方法一样,index()方法在一个字符串中寻找另一个子字符串的位置。如果找到了这个子字符串,就返回它的起始索引值。如果没有找到,就会引发一个ValueError异常。

string = "Hello, World!"
position = string.index("World")
print(position) # 7

如果要在字符串中搜索的子字符串不在字符串中,index()方法就会引发ValueError异常。

string = "Hello, World!"
try:
    position = string.index("Python")
    print(position)
except ValueError:
    print("Substring not found") # Substring not found
总结

在Python中,find()index()方法都可以用来寻找子字符串的位置,但是它们的行为有一些不同。如果你想要在一个字符串中寻找某个子字符串并且不关心它是否存在,建议使用find()方法。如果你需要确保子字符串存在并知道异常处理,那么就使用index()方法。