三種查詢字串方法的速度比較

2021-10-14 14:06:15 字數 926 閱讀 6990

查詢字串a是否包含子串b有三種方法,如下:

from timeit import timeit

import re

deffind

(string, text)

:if string.find(text)

>-1

:pass

defre_find

(string, text)

:if re.match(text, string)

:pass

defbest_find

(string, text)

:if text in string:

pass

print

(timeit(

"find(string, text)"

,"from __main__ import find; string='lookforme'; text='look'"))

print

(timeit(

"re_find(string, text)"

,"from __main__ import re_find; string='lookforme'; text='look'"))

print

(timeit(

"best_find(string, text)"

,"from __main__ import best_find; string='lookforme'; text='look'"

))

速度對比結果如下:

0.244580381

0.779859246

0.09178203699999998

可以看到,re正則匹配的方式最慢,in string的方法最快。

python中查詢字串方法的速度比較

三種常用的字串判空串方法執行速度比較

三種常用的字串判空串方法 1 bool isempty str.length 0 2 bool isempty str string.empty 3 bool isempty str 哪種方法最快?以下是測試 using system public class strlengthtime datet...

搜尋字串的三種方法

cpp file fp tfopen szxmlfilepath,l rb if fp null return fseek fp,0,seek end uint nlen ftell fp fseek fp,0,seek set 寬字元型別 wchar t pstr read new wchar t...

左旋字串的三種方法

注 有效次數為 總次數 n 如上圖所示,假設對字串左旋6次和左旋2次,得到的結果是一樣的 思路 include include include include pragma warning disable 4996 遮蔽scanf出現的錯誤 char a abcd1234 變數定義成全域性較好 in...