自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm=1001.2014.3001.5501
语法参考
index()方法用于查询一个字符串在其本身字符串对象中首次出现的索引位置。它与find()方法功能相同,区别在于当find()方法没有检索到字符串时会返回-1,而index()方法会抛出ValueError异常。index()方法的语法格式如下:
str.index(sub,start,end)
参数说明:
l str:表示原字符串。
l sub:表示要检索的子字符串。
l start:可选参数,表示检索范围的起始位置的索引,如果不指定,则从头开始检索。
l end :可选参数,表示检索范围的结束位置的索引,如果不指定,则一直检索到结尾。
快用锦囊
锦囊1 使用index()方法检索指定字符串出现的位置
定义一个字符串,然后使用index()方法检索该字符串中首次出现“@”符号的位置索引,代码如下:
str1 = '790129881@qq.com'
print('@符号首次出现的位置为:',str1.index('@'))
运行程序,输出结果为:
如果输入的子字符串在原字符串中不存在,将会产生异常,这一点与find()方法不同。
锦囊2 查询字符串中指定字符的全部索引
Python中字符串只提供了index()方法来获取指定字符的索引,但是该方法只能获取字符串中第一次出现的字符索引,所以要想获取字符串中指定字符的全部索引时需要通过自定义函数的方式来实现。代码如下:
str_indx_list=[] # 保存指定字符的索引
def get_multiple_indexes(string,str):
str2 = string # 用于获取字符串总长度
while True: # 循环
if str in string: # 判断是否存在需要查找的字符
first_index = string.index(str) # 获取字符串中第一次出现的字符对应的索引
string =string[first_index+1:] # 将每次找打的字符从字符串中截取掉
sum=len(str2)-len(string) # 计算截取部分的长度
str_indx_list.append(sum-1) # 长度减1就是字符所在的当前索引,将索引添加列表中
else:
break # 如果字符串中没有需要查找的字符就跳出循环
print(str_indx_list) # 打印指定字符出现在字符串中的全部索引
s = "aaabbdddabb" # 测试用的字符串
get_multiple_indexes(s,'a') # 调用自定义方法,获取字符串中指定字符的全部索引
运行程序,输出结果如下:
[0, 1, 2, 8]