python中index是什么,find()与index()有什么不同

  python中index是什么,find()与index()有什么不同

  我们在使用表的时候,通常会创建索引,索引可以大大加快数据检索和表间连接的速度。使用分组和排序时,按子句进行数据检索可以显著减少查询中分组和排序的时间。https://www.py.cn/jishu/jichu/21636.html(index()function ),边肖之前已经引入了对列表进行索引的功能。其实在python中,不仅是index函数,还有find函数。这两个功能有什么区别?下面,边肖将向您介绍它。

  一、index()

  index()方法语法:

  str.index(str,beg=0,end=len(string))python index()方法检测字符串中是否包含字符串str,如果指定beg(开始)和end(结束)范围,则检查是否包含在指定的范围内。如果包含字符串则返回开始的索引值,否则抛出异常。

  使用代码:

  PyDoc_STRVAR(index__doc__,

  美国指数(sub[,startnbsp

  ;[,end]])->int\n\

  \n\

  LikeS.find()butraiseValueErrorwhenthesubstringisnotfound.");

  

  staticPyObject*

  string_index(PyStringObject*self,PyObject*args)

  {

  Py_ssize_tresult=string_find_internal(self,args,+1);

  if(result==-2)

  returnNULL;

  if(result==-1){

  PyErr_SetString(PyExc_ValueError,

  "substringnotfound");

  returnNULL;

  }

  returnPyInt_FromSsize_t(result);

  }二、find()

  find()方法语法:

  

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

  使用代码:

  

PyDoc_STRVAR(rfind__doc__,

  "S.rfind(sub[,start[,end]])->int\n\

  \n\

  ReturnthehighestindexinSwheresubstringsubisfound,\n\

  suchthatsubiscontainedwithinS[start:end].Optional\n\

  argumentsstartandendareinterpretedasinslicenotation.\n\

  \n\

  Return-1onfailure.");

  

  staticPyObject*

  string_rfind(PyStringObject*self,PyObject*args)

  {

  Py_ssize_tresult=string_find_internal(self,args,-1);

  if(result==-2)

  returnNULL;

  returnPyInt_FromSsize_t(result);

  }

通过小编这么一对比,你知道index函数和find函数有什么区别了吗?实际上这俩者内部并没有什么区别,只不过是在没有找到对应字符串,是一个异常,还是返回-1。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: