激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - Python查找相似單詞的方法

Python查找相似單詞的方法

2019-11-22 13:28Sephiroth Python

這篇文章主要介紹了Python查找相似單詞的方法,涉及Python針對字符串的操作技巧,具有一定參考借鑒價值,需要的朋友可以參考下

本文實例講述了Python查找相似單詞的方法。分享給大家供大家參考。具體分析如下:

問題:

給你一個單詞a,如果通過交換單詞中字母的順序可以得到另外的單詞b,那么定義b是a的兄弟單詞。現在給你一個字典,用戶輸入一個單詞,讓你根據字典找出這個單詞有多少個兄弟單詞。

Python代碼如下:

  1. from itertools import tee,izip 
  2. from collections import defaultdict 
  3. def pairwise(iterable): 
  4.   a, b = tee(iterable) 
  5.   for elem in b: 
  6.     break 
  7.   return izip(a, b) 
  8. buf_array=[] 
  9. buf_no={} 
  10. key_from_id=0 
  11. def add_to_buf(word): 
  12.   global key_from_id,buf_array 
  13.   if len(word)==1: 
  14.     pass 
  15.     #TODO 
  16.   for pos,pair in enumerate(pairwise(word)): 
  17.     if len(buf_array)<pos+1: 
  18.       buf_array.append(defaultdict(set)) 
  19.     pos_dict=buf_array[pos] 
  20.     key=list(pair) 
  21.     key.sort() 
  22.     key="".join(key) 
  23.     if key not in buf_no: 
  24.       buf_no[key]=key_from_id 
  25.       key_from_id+=1 
  26.     key=buf_no[key] 
  27.     pos_dict[key].add(word) 
  28. def find_in_buf(word): 
  29.   global key_from_id,buf_array 
  30.   if len(word)==1: 
  31.     pass 
  32.     #TODO 
  33.   exist = [] 
  34.   for pos,pair in enumerate(pairwise(word)): 
  35.     if len(buf_array)<pos+1: 
  36.       return  
  37.     pos_dict=buf_array[pos] 
  38.     key=list(pair) 
  39.     key.sort() 
  40.     key="".join(key) 
  41.     if key not in buf_no: 
  42.       continue 
  43.     key=buf_no[key] 
  44.     if key not in pos_dict: 
  45.       continue 
  46.     exist.append(pos_dict[key]) 
  47.   count_dict=defaultdict(int
  48.   for i_set in exist: 
  49.     for i in i_set: 
  50.       count_dict[i]+=1 
  51.   result=[] 
  52.   min_match = len(word)-3 
  53.   for k,v in count_dict.iteritems(): 
  54.     if v>=min_match: 
  55.       result.append(k) 
  56.   return result 
  57. add_to_buf("1234"
  58. add_to_buf("ABCD"
  59. add_to_buf("CABD"
  60. print find_in_buf("ACBD"

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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲一区二区三区在线看 | 国产妇女乱码一区二区三区 | 久国久产久精永久网页 | 91久久一区| 久久久精品视频在线观看 | 国产91小视频在线观看 | 51国产偷自视频区视频小蝌蚪 | 免费看成年人视频在线 | 国产一区二区精品91 | 欧美成人性生活片 | 88xx成人永久免费观看 | 久久久精品视频在线观看 | 91在线视频福利 | 国产精品午夜一区 | 精品国产视频一区二区三区 | 成人午夜视频在线观看 | 欧产日产国产精品乱噜噜 | 91网址在线观看 | 精品一区二区三区在线观看视频 | 伦一区二区三区中文字幕v亚洲 | 欧美一级视频网站 | 网站一区| 国产二区三区在线播放 | 成人免费观看av | 成人毛片av在线 | h视频免费在线观看 | 国产电影精品久久 | 成人在线视频网 | 亚洲精品av在线 | 亚洲国产精品一区二区精品 | 久久亚洲精品久久国产一区二区 | 欧美毛片免费观看 | 啪啪毛片| 日本黄色免费片 | 成人乱码一区二区三区不卡视频 | 成人情欲视频在线看免费 | 青热久思思 | www.777含羞草 | 美女黄视频在线观看 | 99这里有精品 | 搜一级毛片 |