Python字符串匹配算法KMP實(shí)例
來(lái)源:懂視網(wǎng)
責(zé)編:小采
時(shí)間:2020-11-27 14:34:29
Python字符串匹配算法KMP實(shí)例
Python字符串匹配算法KMP實(shí)例:本文實(shí)例講述了Python字符串匹配算法KMP。分享給大家供大家參考。具體如下: #!/usr/bin/env python #encoding:utf8 def next(pattern): p_len = len(pattern) pos = [-1]*p_len j = -1 for i in range(1, p_
導(dǎo)讀Python字符串匹配算法KMP實(shí)例:本文實(shí)例講述了Python字符串匹配算法KMP。分享給大家供大家參考。具體如下: #!/usr/bin/env python #encoding:utf8 def next(pattern): p_len = len(pattern) pos = [-1]*p_len j = -1 for i in range(1, p_
本文實(shí)例講述了Python字符串匹配算法KMP。分享給大家供大家參考。具體如下:
#!/usr/bin/env python
#encoding:utf8
def next(pattern):
p_len = len(pattern)
pos = [-1]*p_len
j = -1
for i in range(1, p_len):
while j > -1 and pattern[j+1] != pattern[i]:
j = pos[j]
if pattern[j+1] == pattern[i]:
j = j + 1
pos[i] = j
return pos
def kmp(ss, pattern):
pos = next(pattern)
ss_len = len(ss)
pattern_len = len(pattern)
j = -1
for i in range(ss_len):
while j > -1 and pattern[j+1] != ss[i]:
j = pos[j]
if pattern[j+1] == ss[i]:
j = j + 1
if j == pattern_len-1:
print 'matched @: %s' % str(i-pattern_len+1)
j = pos[j]
kmp(u'上海自來(lái)水來(lái)自海上海', u'上海')
希望本文所述對(duì)大家的Python程序設(shè)計(jì)有所幫助。
聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com
Python字符串匹配算法KMP實(shí)例
Python字符串匹配算法KMP實(shí)例:本文實(shí)例講述了Python字符串匹配算法KMP。分享給大家供大家參考。具體如下: #!/usr/bin/env python #encoding:utf8 def next(pattern): p_len = len(pattern) pos = [-1]*p_len j = -1 for i in range(1, p_