Python字符串匹配算法KMP实例
本文实例讲述了Python字符串匹配算法KMP。分享给大家供大家参考。具体如下:
#!/usr/bin/envpython #encoding:utf8 defnext(pattern): p_len=len(pattern) pos=[-1]*p_len j=-1 foriinrange(1,p_len): whilej>-1andpattern[j+1]!=pattern[i]: j=pos[j] ifpattern[j+1]==pattern[i]: j=j+1 pos[i]=j returnpos defkmp(ss,pattern): pos=next(pattern) ss_len=len(ss) pattern_len=len(pattern) j=-1 foriinrange(ss_len): whilej>-1andpattern[j+1]!=ss[i]: j=pos[j] ifpattern[j+1]==ss[i]: j=j+1 ifj==pattern_len-1: print'matched@:%s'%str(i-pattern_len+1) j=pos[j] kmp(u'上海自来水来自海上海',u'上海')
希望本文所述对大家的Python程序设计有所帮助。
热门推荐
9 天仙配简短祝福语
10 孙子生日祝福语简短精辟
11 奶茶店新年祝福语简短
12 厂庆祝福语大全简短
13 对新人祝福语大全简短
14 爸爸生日的祝福语简短
15 妈咪跟我生日祝福语简短
16 同学毕业祝福语有趣简短
17 官宣祝福语简短霸气
18 升学了祝福语简短句