📌  相关文章
📜  Python|查找给定字符串中字符的位置(1)

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

Python | 查找给定字符串中字符的位置

在Python中,可以使用内置函数find()index()来查找给定字符串中某个字符的位置。两者的使用方法类似,但是有如下区别:

  1. find()函数在找不到指定字符时会返回-1,而index()会抛出异常。
  2. find()函数可以指定起始搜索位置,而index()不可以。

下面分别介绍find()index()函数的使用方法。

find()函数

find()函数的基本用法如下:

string.find(substring, start=0, end=len(string))

其中,string是要搜索的字符串,substring是要查找的目标字符,startend是可选参数,分别表示搜索起点和终点的位置,默认值分别为0和字符串的长度。函数返回目标字符在字符串中第一次出现的位置,如果找不到则返回-1。

下面是一个例子:

string = "hello world"
pos = string.find("o")
print(pos) # 输出:4

在上面的例子中,find()函数返回了目标字符o在字符串中第一次出现的位置,即4。

如果要查找多个字符重复出现的位置,可以使用循环遍历:

string = "hello world"
char = "l"
pos = []
for i in range(len(string)):
    if string[i] == char:
        pos.append(i)
print(pos) # 输出:[2, 3, 9]

在上面的例子中,我们使用了循环遍历,查找了所有重复出现的字符l在字符串中的位置,并将位置保存在一个列表中。

index()函数

index()函数的用法类似于find(),但是不同之处在于当目标字符在字符串中不存在时,index()函数会抛出异常。下面是一个例子:

string = "hello world"
pos = string.index("x")

上面的代码会抛出一个ValueError异常,提示我们目标字符x在字符串中不存在。

find()相比,index()函数的用法基本一致:

string.index(substring, start=0, end=len(string))

其中,substring是要查找的目标字符,startend是可选参数,分别表示搜索起点和终点的位置,默认值分别为0和字符串的长度。函数返回目标字符在字符串中第一次出现的位置。

总结

在Python中,可以使用find()index()函数来查找给定字符串中某个字符的位置,两者的区别在于当目标字符不存在时的返回值不同。在实际应用中,可以根据需要选择适合的函数来进行查找。