python找到字符中空格所在的位置_Python查找字符在字符串中出现的所有位置

题目出自PTA python编程题3-3 输出字母在字符串中位置索引:

题目:输入一个字符串,再输入两个字符,求这两个字符在字符串中的索引。

输入格式:

第一行输入字符串

第二行输入两个字符,用空格分开。

输出格式:

反向输出字符和索引,即最后一个最先输出。每行一个。

输入样例:

在这里给出一组输入。例如:

mississippi

s p

输出样例:

在这里给出相应的输出。例如:

9 p

8 p

6 s

5 s

3 s

2 s

'''代码如下'''

a=input() #字符串

b=input().split() #所有要查找的字符 列表

c=a #记录原字符串a

l=len(b)-1 #用于循环

while l>=0:

while a.rfind(b[l])!=-1: #反向查找直到找不到

x=a.rfind(b[l]) #索引位置

print(f"{x} {b[l]}")

a=a[:x] #对字符串切片,才能找到下一个位置

a=c #还原a,进行下一个字符的查找

l-=1 #上一个字符

注:PTA给的例子a没有还原刚好能通过,交了也的确过了,后面补上还原更符合题意,下面测试在字符串中多加了一个p,没有还原答案就错了。

450666cda3b84dbc8fb5fd00e64bd02b.png

知识点:str.find(‘char’,start) #从下标start开始找(默认从头),找不到返回-1

而index找不到会抛出异常

find index 从开头开始查找

rfind rindex从末尾开始查找,索引位置都一样

总结:查找所有字符在字符串中出现的所有位置,灵感来自这题。方法就是找到第一次出现的位置,对主串切片,但最好记录下主串,以便还原再查找。

小菜鸡Python学习之路上的记录,大佬们请忍住笑声!


http://www.niftyadmin.cn/n/1409519.html

相关文章

ehCache详解

Ehcache中不仅可以用配置文件来配置缓存,而在代码中也可以实现同样的功能。 CacheManager singletonManager CacheManager.create(); Cache memoryOnlyCache new Cache(“testCache”, 50000, false, false, 8, 2); Cache test singletonManager.getCache(“t…

react Antd中使用Tabs组件点击头部,只更新一次问题

在使用tabs使用子模块中数据请求只执行第一次点击该头部时候,后面多次返回之后执行数据无效等问题 可以通过ref对子模块方法进行调用 MenuTab(e)>{console.log(e);this.setState({tabDeafult:e})window.sessionStorage.setItem("rid",e);setTimeout(() > {th…

redis 哨兵_Spring集成Redis哨兵配置

什么是哨兵Sentinel(哨兵)是用于监控Redis集群中Master状态工具,可以监视一个或者多个redis master服务,以及这些master服务的所有从服务;当某个master服务宕机后,会把这个master下的某个服务升级为master来…

TortoiseGit自动记住用户名密码的方法

windows下比较比较好用的git客户端有2种: 1. msysgit TortoiseGit(乌龟git) 2. GitHub for Windows github的windows版也用过一段时间,但还是不太习惯。所以目前仍然青睐与msysgit乌龟git的组合。 TortoiseGit在提交时总数会提示你输入用户名密码&#…

react antd 自定义Pagination 分页功能

antd 自定义Pagination 分页功能,研究明白其实看着很简单 主要就是slice((pagenum-1)*pageSize,(pagenum-1)*pageSizepageSize) {objlistdata.slice((pagenum-1)*pageSize,(pagenum-1)*pageSizepageSize).map((item,index)>{return(<ContentList data{item.data} key{ite…

java 如何检测内在泄漏呢

1、为什么会发生内存泄漏 java 如何检测内在泄漏呢&#xff1f;我们需要一些工具进行检测&#xff0c;并发现内存泄漏问题&#xff0c;不然很容易发生down机问题。 编写java程序最为方便的地方就是我们不需要管理内存的分配和释放&#xff0c;一切由jvm来进行处理&#xff0c;当…

大型语言模型与知识图谱协同研究综述:两大技术优势互补

机器之心报道 编辑&#xff1a;杜伟 多图综述理清当前研究现状&#xff0c;这篇 29 页的论文值得一读。 大型语言模型&#xff08;LLM&#xff09;已经很强了&#xff0c;但还可以更强。通过结合知识图谱&#xff0c;LLM 有望解决缺乏事实知识、幻觉和可解释性等诸多问题&am…

mikadonic-RHCE——NFS服务配置图解

转载于:https://www.cnblogs.com/MiKaDoNik/p/8954103.html