[英]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.