python:在字符串中查找指定字符的多个索引方法
2023-03-20 15:25:38 时间
Python中查找字符串指定字符的常用方法有find()、index()。
用法:
str = 'abcd' print(str.find('c')) #输出即为查找指定字符的索引值 print(str.index('c')) #输出即为查找指定字符的索引值
区别:
当指定字符在该字符串中不存在时,find输出为-1.index则会报错,如下:
str = 'abcd' print(str.find('f')) #-1 print(str.index('f')) #ValueError: substring not found
缺点:
find()和index()只能找到第一个索引值。如果指定字符同时存在多个,只会输出第一个指定字符的索引值。
需要说明的是:Python并没有内置方法可直接解决这个问题。所以需要自己定义一个方法去解决这个问题。
lstKey = [] #定义空列表用于存储多个指定字符的索引 lengthKey = 0 str = input('字符串:') key = input('要查找的关键字:') #字符串中存在指定字符串的个数 countStr = str.count(key) #利用获取的countStr进行判断 if countStr < 1: print('该字符串中无要查找的字符') elif countStr == 1: #当字符串中只有一个指定字符时,直接通过find()方法即可解决 indexKey = str.find(key) print('查找的关键字的索引为:',indexKey) else: #当字符串中存在多个指定字符的处理方法 #第一个指定字符的处理方法 indexKey = str.find(key) lstKey.append(indexKey) #将第一个索引加入到lstKey列表中 #其余指定字符的处理方法 while countStr > 1: #将前一个指定字符之后的字符串截取下来 str_new = str[indexKey+1:len(str)+1] #获取截取后的字符串中前一个指定字符的索引值 indexKey_new = str_new.find(key) #后一个索引值=前一个索引值+1+indexkey_new indexKey = indexKey+1 +indexKey_new #将后发现的索引值加入lstKey列表中 lstKey.append(indexKey) countStr -= 1 print('查找的关键字的索引为',lstKey)
相关文章
- Python气象数据处理 | 克里金(Kriging)插值与可视化
- Vue3 源码解析(七)
- Vue3.0 响应式实现原理分析
- Python-包管理器
- 卧槽!出了一个Python实时目标跟踪系统神器!
- 禁止 Python 子类覆盖父类方法
- Python表白代码:太秀了,用过的人都找到了对象...【满屏玫瑰盛开】
- Python中[-1]、[:-1]、[::-1]、[n::-1]、[:,:,0]、[…,0]、[…,::-1] 的理解
- 来了!Python 官方发布了整套的中文PDF 文档(共27本)
- EasyNVR优化多通道情况下程序关闭的速度
- 数字后端——ECO
- Python中for语句的使用方法
- Python中的排序函数--sorted()函数
- C 跌落神坛,Python 终登榜首 | TIOBE 10 月编程语言排行榜
- 给Python初学者推荐的IDE!
- 八个python免费自学网站一周熟练python(抓紧收藏)
- C 语言是“最环保”的编程语言
- 我用Python写了一个邮箱脚本发给班花,没想到事情闹大了...
- Python 中报错 “TypeError: ‘list‘ object is not callable”的解决方法
- 用Python实现自动发消息,自定义内容,太省事了!