知行编程网知行编程网  2022-09-07 12:00 知行编程网 隐藏边栏  15 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于python中index和find有什么区别的相关知识,包括python set,以及find在python的意思这些编程知识,希望对大家有参考作用。


python中的index和find有什么区别


我们在使用表时,通常会创建索引,这样可以大大加快数据检索的速度。


加快表与表之间的连接。


使用分组和排序时,用于数据检索的子句可以显着减少查询中的分组和排序时间。之前给大家介绍过


列表起索引作用的index() 函数(


)。其实在python中,起索引作用的不止i


ndex函数,还有


find函数,这两个函数有什么区别?下面就给大家介绍一下。



一、


index()





index()方法语法:

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

python index()方法检测字符串是否包含字符串str,如果指定了beg(start)和end(end)的范围,则检查是否包含在指定范围内。如果包含字符串,则返回起始索引值,否则抛出异常。



使用代码:

PyDoc_STRVAR(index__doc__,
"S.index(sub [,start [,end]]) -> int\n\
\n\
Like S.find() but raise ValueError when the substring is not found.");
 
static PyObject *
string_index(PyStringObject *self, PyObject *args)
{
    Py_ssize_t result = string_find_internal(self, args, +1);
    if (result == -2)
        return NULL;
    if (result == -1) {
        PyErr_SetString(PyExc_ValueError,
                        "substring not found");
        return NULL;
    }
    return PyInt_FromSsize_t(result);
}



二、find()




find()

方法语法:


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

python find() 方法检测字符串是否包含字符串str。如果指定了beg(start)和end(end)的范围,则检查是否包含在指定范围内,如果包含字符串,则返回起始索引值,否则返回-1



使用代码:

PyDoc_STRVAR(rfind__doc__,
"S.rfind(sub [,start [,end]]) -> int\n\
\n\
Return the highest index in S where substring sub is found,\n\
such that sub is contained within S[start:end].  Optional\n\
arguments start and end are interpreted as in slice notation.\n\
\n\
Return -1 on failure.");
 
static PyObject *
string_rfind(PyStringObject *self, PyObject *args)
{
    Py_ssize_t result = string_find_internal(self, args, -1);
    if (result == -2)
        return NULL;
    return PyInt_FromSsize_t(result);
}


通过小编这么一对比,你知道

index函数和find函数有什么区别了吗?

实际上这俩者内部并没有什么区别,只不过是在没有找到对应字符串,是一个异常,还是返回-1。

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写
扫一扫二维码分享