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

首頁 > 編程 > Python > 正文

python獲取指定字符串中重復模式最高的字符串方法

2020-02-15 22:06:21
字體:
來源:轉載
供稿:網友

給定一個字符串,如何得到其中重復模式最高的子字符串,我采用的方法是使用滑窗機制,對給定的字符串切分,窗口的大小從1增加到字符串長度減1,將所有的得到的切片統計結果,在這里不考慮單個字符的重復模式,好了,很簡單看具體實現:

#!usr/binenv python#encoding:utf-8 '''__Author__:沂水寒城統計一個給定字符串中重復模式數量得到最高重復模式串''' def slice(num_str,w): ''' 對輸入的字符串滑窗切片返回結果列表 ''' result_list=[] for i in range(len(num_str)-w+1):  result_list.append(num_str[i:i+w]) return result_list def get_repeat_num_seq(num_str): ''' 統計重復模式串數量 ''' result_dict={} result_list=[] for i in range(2,len(num_str)):  one_list=slice(num_str, i)  result_list+=one_list for i in range(len(result_list)):  if result_list[i] in result_dict:   result_dict[result_list[i]]+=1  else:   result_dict[result_list[i]]=1 sorted_result_dict=sorted(result_dict.items(), key=lambda e:e[1], reverse=True) return sorted_result_dict[0:10] if __name__ == '__main__': num_list=get_repeat_num_seq('4513785645121214545454545457894') print num_list

結果如下:

[('45', 8), ('4545', 5), ('454', 5), ('545', 5), ('54', 5), ('5454', 4), ('454545', 4), ('45454', 4), ('54545', 4), ('545454', 3)][Finished in 0.5s]

結果列表中第一個即為所求,當然,基于此還可以繼續改進有很多別的需求。

以上這篇python獲取指定字符串中重復模式最高的字符串方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林站長站。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 诸城市| 噶尔县| 宜川县| 京山县| 仁怀市| 宁乡县| 娱乐| 湖州市| 禹城市| 卢龙县| 灯塔市| 大庆市| 宿州市| 建湖县| 武胜县| 合山市| 武宁县| 遂昌县| 台湾省| 安宁市| 东城区| 平和县| 元谋县| 永春县| 蕲春县| 禄丰县| 景洪市| 慈利县| 二手房| 七台河市| 泗洪县| 铅山县| 涞水县| 靖州| 华阴市| 南阳市| 平江县| 金塔县| 湾仔区| 瑞安市| 博客|