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


Posted in Python onJune 29, 2018

给定一个字符串,如何得到其中重复模式最高的子字符串,我采用的方法是使用滑窗机制,对给定的字符串切分,窗口的大小从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获取指定字符串中重复模式最高的字符串方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中列表、字典、元组、集合数据结构整理
Nov 20 Python
状态机的概念和在Python下使用状态机的教程
Apr 11 Python
python编码最佳实践之总结
Feb 14 Python
使用python在本地电脑上快速处理数据
Jun 22 Python
Python引用传值概念与用法实例小结
Oct 07 Python
Python决策树和随机森林算法实例详解
Jan 30 Python
Python字典循环添加一键多值的用法实例
Jan 20 Python
Python向excel中写入数据的方法
May 05 Python
python3.6根据m3u8下载mp4视频
Jun 17 Python
对Python中一维向量和一维向量转置相乘的方法详解
Aug 26 Python
python实现井字棋小游戏
Mar 04 Python
Keras预训练的ImageNet模型实现分类操作
Jul 07 Python
Python 利用内置set函数对字符串和列表进行去重的方法
Jun 29 #Python
Linux下python与C++使用dlib实现人脸检测
Jun 29 #Python
对python中两种列表元素去重函数性能的比较方法
Jun 29 #Python
Python数据持久化shelve模块用法分析
Jun 29 #Python
python 统计列表中不同元素的数量方法
Jun 29 #Python
python计算两个数的百分比方法
Jun 29 #Python
python统计字母、空格、数字等字符个数的实例
Jun 29 #Python
You might like
php下将多个数组合并成一个数组的方法与实例代码
2011/02/03 PHP
解析PHP计算页面执行时间的实现代码
2013/06/18 PHP
简单实用的PHP防注入类实例
2014/12/05 PHP
php判断目录存在的简单方法
2019/09/26 PHP
javascript URL锚点取值方法
2009/02/25 Javascript
javascript代码加载优化方法
2011/01/30 Javascript
jQuery(1.6.3) 中css方法对浮动的实现缺陷分析
2011/09/09 Javascript
jQuery怎么解析Json字符串(Json格式/Json对象)
2013/08/09 Javascript
Jquery操作radio的简单实例
2014/01/06 Javascript
所见即所得的富文本编辑器bootstrap-wysiwyg使用方法详解
2016/05/27 Javascript
bootstrap学习笔记之初识bootstrap
2016/06/21 Javascript
jquery实现输入框实时输入触发事件代码
2016/12/21 Javascript
javascript表单正则应用
2017/02/04 Javascript
Bootstrap模态框(Modal)实现过渡效果
2017/03/17 Javascript
vue.js系列中的vue-fontawesome使用
2018/02/10 Javascript
Vue组件库发布到npm详解
2018/02/17 Javascript
JavaScript DOM常用操作代码汇总
2020/07/03 Javascript
vue中destroyed方法的使用说明
2020/07/21 Javascript
Python面向对象之接口、抽象类与多态详解
2018/08/27 Python
python读取并写入mat文件的方法
2019/07/12 Python
简单了解Python3里的一些新特性
2019/07/13 Python
详解将Python程序(.py)转换为Windows可执行文件(.exe)
2019/07/19 Python
pymysql 开启调试模式的实现
2019/09/24 Python
python读取ini配置文件过程示范
2019/12/23 Python
简单了解python字符串前面加r,u的含义
2019/12/26 Python
python实现梯度法 python最速下降法
2020/03/24 Python
使用python批量修改XML文件中图像的depth值
2020/07/22 Python
button在IE6/7下的黑边去除方案
2012/12/24 HTML / CSS
vue+django实现下载文件的示例
2021/03/24 Vue.js
珍珠奶茶店创业计划书
2014/01/11 职场文书
高中同学聚会邀请函
2014/01/11 职场文书
致全体运动员广播稿
2014/02/01 职场文书
《千年梦圆在今朝》教学反思
2014/02/24 职场文书
廉政文化进校园广播稿
2014/10/20 职场文书
2014年酒店工作总结范文
2014/11/17 职场文书
毕业生自我鉴定范文
2019/05/13 职场文书