2 回答

TA貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超11個(gè)贊
您可以使用count
print("hellohel".count("hel"))
2
如果你想計(jì)算重疊的發(fā)生次數(shù)......也許這可以幫助
def countOverlapping(string, item):
? ? count = 0
? ? for i in range(0,len(string)):
? ? ? ? if item in string[i:len(item)+i]:
? ? ? ? ? ? count += 1
? ? return count
print(countOverlapping("ehehe", "ehe"))
輸出應(yīng)該是...
2
這是如何運(yùn)作的?
它使用了他所謂的滑動(dòng)窗口方法
我們獲取子字符串的長(zhǎng)度,并在每次迭代時(shí)檢查它是否在字符串的“窗口”中:
is ehe in [ehe]he? yes, count += 1
is ehe in e[heh]e? no, pass
is ehe in eh[ehe]? yes, count += 1

TA貢獻(xiàn)1825條經(jīng)驗(yàn) 獲得超4個(gè)贊
您需要采用滑動(dòng)窗口方法來獲取字符串中子字符串的計(jì)數(shù)。
例子:
字符串:“嘿嘿嘿”
子串:“呃”
從前 3 個(gè)(因?yàn)樽幼址拈L(zhǎng)度為 3)字母“ehe”開始 - 這是我們要查找的子字符串嗎?- 是的。
現(xiàn)在留下第一個(gè)字母“e”并將字母“he”與下一個(gè)字母“h”組合起來形成“heh”,這是我們要尋找的子字符串嗎?- 不
現(xiàn)在留下第一個(gè)字母“h”并將字母“eh”與下一個(gè)字母“e”組合起來形成“ehe”,這是我們正在尋找的子字符串嗎?是的
執(zhí)行到字符串末尾并計(jì)算“yes”的數(shù)量
添加回答
舉報(bào)