python中index和find的区别
即然要讲区别的话,那就先看看他们的概念叭。
先来看看index
python index()方法检测字符串中是否包含字符串str,如果指定beg(开始)和end(结束)范围,则检查是否包含在指定的范围内。如果包含字符串则返回开始的索引值,否则抛出异常。
接下来是find
python find()方法检测字符串中是否包含字符串str,如果指定beg(开始)和end(结束)范围,则检查是否包含在指定范围内,如果包含字符串则返回开始的索引值,否则返回-1
从概念上来看,两者的区别就在于字符串不包含字符串str的情况下的返回结果。但是毕竟都是敲代码的,来看看实际的吧!
eg:
a='c|c++|c#|python|javascript'
print(a.index('python'))
print(a.find('python'))
打印结果:
9
9
上面的例子是包含的情况下,返回的是字符串的第一个索引,下面看看不包含的情况下
a='c|c++|c#|python|javascript'
print(a.index('comeon'))
打印结果:
a='c|c++|c#|python|javascript' print(a.find('comeon'))
打印结果:
-1
进阶版:带参数
round1
part1:参数<字符串的首字母索引
a='c|c++|c#|python|javascript'
print(a.index('python',8))
print(a.find('python',8))
打印结果:
9
9
part2:参数=字符串的首字母索引
a='c|c++|c#|python|javascript'
print(a.index('python',9))
print(a.find('python',9))
打印结果:
9
9
part3:参数>字符串的首字母索引
a='c|c++|c#|python|javascript'
print(a.index('python',11))
打印结果:
哦,我的老天鹅啊,它报错了。找不到查找的字符串
a='c|c++|c#|python|javascript'
print(a.find('python',11))
返回结果:
-1
咦,它没有报错~~~~
已经看了上面的几个例子了,泥萌能猜的出来这个参数的意义嘛??
是的,没错,它就表示起始查找的位置,如果要查找的字符串的首字符大于或者等于参数的值,那么返回的结果就是该字符串首字符的索引,index和find都适用哦。如果小于的话,index会报错,find还是会返回-1哦!
round2
两个参数
从round1你已经知道了携带一个参数是起始位置,那么如果携带第二个参数你一定可以猜的出来叭~~·
没错,第二个参数就是结束位置。
升堂~~~~~,威武~~~~~~,上代码!!!!
a='c|c++|c#|python|javascript'
print(a.index('python',11,20))
好叭,又是光荣牺牲了。。。。
再来!!!!
a='c|c++|c#|python|javascript'
print(a.index('python',8,20))
打印结果:
再看一看
a='c|c++|c#|python|javascript'
print(a.index('python',9,14))
打印结果:
惨了,又中招了,看来起始位置和终止位置之间的范围一定要大于字符串的索引范围啊!
那find呐?它这个小机灵鬼。
a='c|c++|c#|python|javascript'
print(a.find('python',11,20))
打印结果:
-1
a='c|c++|c#|python|javascript'
print(a.find('python',8,20))
打印结果:
9
a='c|c++|c#|python|javascript'
print(a.find('python',9,14))
打印结果:
-1
咦,果然机灵~~~
害,一步一步的走了这么多路,是时候该总结一下了。
index和find的区别:
1.如果找不到字符串,index报错,find返回-1,如果可以找到,两者都返回字符串首字符的索引值
2.两个参数分别 是起始位置和终止位置,起始位置和终止位置的索引范围必须大于字符串的索引范围,不能等于。否则index报错,find返回-1。
在快要离开的时候给你们个大料,来来来,上源码。
自己下去看一看,敲敲代码试一试哦!本仙要继续修炼啦!!
(觉得写得好的话可以请作者喝杯咖啡嘛?拜托拜托><)
郝沣冰淇淋: 引用「divmod(a,b) 返回的结果是一个商和余数组成元组(a//b,a%b)」 是 divmod(a,b) 返回的结果是一个商和余数(余数是向下取整)组成元(a//b,a%b)
计算机王: 非常喜欢这篇博客!博主的写作风格简洁明了,让人一目了然。文章内容丰富,涵盖了很多实用的知识点,对我来说非常有帮助。尤其是博主在文章中提供了很多实际操作的步骤和技巧,让我能够更好地应用所学的知识。同时,博主的配图也很精美,更加生动地展示了文章中的内容。总之,非常感谢博主的分享,期待博主能够继续输出这样优质的好文。
CSDN-Ada助手: 推荐 算法 技能树:https://edu.csdn.net/skill/algorithm?utm_source=AI_act_algorithm
2301_79579602: 感谢大神
m0_61567369: 貌似开始位置可以等于查找内容的起始索引,结束位置才必须大于查找内容的最后一个索引,是一个左闭右开的区间