[英]Difference in time complexity between python .index() and .find()
我想知道.find()
和.index()
在时间复杂度上的区别在 Python 中。 在做 LeetCode 时,我注意到.find()
.index()
花费的时间明显更长。 据我了解,这两种方法都应该在O(n)
中运行。 我看到的唯一区别是,当您搜索的元素不存在时, .index()
会引发 ValueError 。
有人知道这种速度差异来自哪里吗? 还有一个文档可以找到各种 Python 方法的时间复杂度吗?
str.find
和 str.index 都只是str.index
的薄包装,它们唯一有意义的区别是在any_find_slice
中添加了以下str.index
:
if (result < 0) {
PyErr_SetString(PyExc_ValueError, "substring not found");
return NULL;
}
因此,任何感知到的运行时差异如果为真(您没有包含显示您的声明为真的基准)必须来自异常处理。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.