国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python字符串匹配算法KMP實例

2020-01-04 18:02:08
字體:
來源:轉載
供稿:網友

這篇文章主要介紹了Python字符串匹配算法KMP實現方法,實例分析了Python針對字符串操作的相關技巧,具有一定參考借鑒價值,需要的朋友可以參考下

本文實例講述了Python字符串匹配算法KMP。分享給大家供大家參考。具體如下:

 

 
  1. #!/usr/bin/env python 
  2. #encoding:utf8 
  3. def next(pattern): 
  4. p_len = len(pattern) 
  5. pos = [-1]*p_len 
  6. j = -1 
  7. for i in range(1, p_len): 
  8. while j > -1 and pattern[j+1] != pattern[i]: 
  9. j = pos[j] 
  10. if pattern[j+1] == pattern[i]: 
  11. j = j + 1 
  12. pos[i] = j 
  13. return pos 
  14. def kmp(ss, pattern): 
  15. pos = next(pattern) 
  16. ss_len = len(ss) 
  17. pattern_len = len(pattern) 
  18. j = -1 
  19. for i in range(ss_len): 
  20. while j > -1 and pattern[j+1] != ss[i]: 
  21. j = pos[j] 
  22. if pattern[j+1] == ss[i]: 
  23. j = j + 1 
  24. if j == pattern_len-1: 
  25. print 'matched @: %s' % str(i-pattern_len+1) 
  26. j = pos[j] 
  27. kmp(u'上海自來水來自海上海', u'上海'

希望本文所述對大家的Python程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 庆元县| 鄂伦春自治旗| 夏邑县| 宣武区| 肇东市| 嘉定区| 焦作市| 建昌县| 济源市| 桃园县| 泰来县| 孙吴县| 天水市| 灵川县| 阳谷县| 南通市| 福海县| 寿阳县| 泾源县| 天等县| 兴化市| 南雄市| 秦皇岛市| 塘沽区| 绩溪县| 贵南县| 昔阳县| 镇江市| 抚顺县| 福州市| 阿城市| 建德市| 湖州市| 岳普湖县| 牟定县| 社旗县| 阿克苏市| 松阳县| 淮南市| 莲花县| 南通市|