簡體   English   中英

python.index() 和.find() 之間的時間復雜度差異

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM