码迷,mamicode.com
首页 > 编程语言 > 详细

python中index()与find()的区别

时间:2015-08-14 11:51:03      阅读:143      评论:0      收藏:0      [点我收藏+]

标签:python   find函数   index函数   区别   valueerror substring   

起因:在排查错误时定位在判断语句这一行:if testlist.index(‘T‘):

报错:ValueError: substring not found。原来是index()和find()没区分清楚。find()查找失败会返回-1,不会影响程序运行。一般用find!=-1或者find>-1来作为判断条件。

1.index描述

Python index() 方法检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,该方法与 python find()方法一样,只不过如果str不在 string中会报一个异常。

语法

index()方法语法:

str.index(str, beg=0, end=len(string))

参数

  • str -- 指定检索的字符串
  • beg -- 开始索引,默认为0。
  • end -- 结束索引,默认为字符串的长度。

返回值

如果包含子字符串返回开始的索引值,否则抛出异常。

实例

以下实例展示了index()方法的实例:

#!/usr/bin/python

str1 = "this is string example....wow!!!";
str2 = "exam";

print str1.index(str2);
print str1.index(str2, 10);
print str1.index(str2, 40);
以上实例输出结果如下:

15
15
Traceback (most recent call last):
  File "test.py", line 8, in 
  print str1.index(str2, 40);
ValueError: substring not found

shell returned 1

2.find描述

Python find() 方法检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,如果包含子字符串返回开始的索引值,否则返回-1。

语法

find()方法语法:

str.find(str, beg=0, end=len(string))

参数

  • str -- 指定检索的字符串
  • beg -- 开始索引,默认为0。
  • end -- 结束索引,默认为字符串的长度。

返回值

如果包含子字符串返回开始的索引值,否则返回-1。

版权声明:欢迎转载,转载请注明出处http://blog.csdn.net/ztf312/

python中index()与find()的区别

标签:python   find函数   index函数   区别   valueerror substring   

原文地址:http://blog.csdn.net/ztf312/article/details/47657963

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!