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持久性管理pickle模块详细介绍
Feb 18 Python
Python字符串和字典相关操作的实例详解
Sep 23 Python
利用Python如何生成便签图片详解
Jul 09 Python
python3利用venv配置虚拟环境及过程中的小问题小结
Aug 01 Python
Python基于聚类算法实现密度聚类(DBSCAN)计算【测试可用】
Dec 26 Python
python调用opencv实现猫脸检测功能
Jan 15 Python
Python设计模式之抽象工厂模式原理与用法详解
Jan 15 Python
django 做 migrate 时 表已存在的处理方法
Aug 31 Python
手把手教你Python yLab的绘制折线图的画法
Oct 23 Python
git查看、创建、删除、本地、远程分支方法详解
Feb 18 Python
利用Python实现自动扫雷小脚本
Dec 17 Python
pandas中对文本类型数据的处理小结
Nov 01 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/05/29 PHP
PHP json_decode函数详细解析
2014/02/17 PHP
php curl 获取https请求的2种方法
2015/04/27 PHP
十大使用PHP框架的理由
2015/09/26 PHP
PHP simplexml_load_file()函数讲解
2019/02/03 PHP
PHP7 整型处理机制修改
2021/03/09 PHP
JavaScript(js)设置默认输入焦点(focus)
2012/12/28 Javascript
js从10种颜色中随机取色实现每次取出不同的颜色
2013/10/23 Javascript
Jquery获得控件值的三种方法总结
2014/02/13 Javascript
javascript记录文本框内文字个数检测文字个数变化
2014/10/14 Javascript
js+jquery实现图片裁剪功能
2015/01/02 Javascript
提高jQuery性能优化的技巧
2015/08/03 Javascript
jquery实现弹出层登录和全屏层注册特效
2015/08/28 Javascript
jQuery实现的调整表格行tr上下顺序
2016/01/10 Javascript
jQuery中animate()的使用方法及解决$(”body“).animate({“scrollTop”:top})不被Firefox支持的问题
2017/04/04 jQuery
react.js CMS 删除功能的实现方法
2017/04/17 Javascript
详解如何探测小程序返回到webview页面
2019/05/14 Javascript
解决Vue调用springboot接口403跨域问题
2019/09/02 Javascript
Vue.js实现立体计算器
2020/02/22 Javascript
完美解决通过IP地址访问VUE项目的问题
2020/07/18 Javascript
基于JS实现计算24点算法代码实例解析
2020/07/23 Javascript
Vue select 绑定动态变量的实例讲解
2020/10/22 Javascript
[02:36]DOTA2亚洲邀请赛小组赛精彩集锦:奇迹哥卡尔秀翻全场
2017/03/28 DOTA
python算法学习之计数排序实例
2013/12/18 Python
python抓取网页图片示例(python爬虫)
2014/04/27 Python
python实现从pdf文件中提取文本,并自动翻译的方法
2018/11/28 Python
python 阶乘累加和的实例
2019/02/01 Python
Python List cmp()知识点总结
2019/02/18 Python
python安装读取grib库总结(推荐)
2020/06/24 Python
python matplotlib绘制三维图的示例
2020/09/24 Python
python爬取股票最新数据并用excel绘制树状图的示例
2021/03/01 Python
整理HTML5中表单的常用属性及新属性
2016/02/19 HTML / CSS
日本乐天德国站:Rakuten.de
2019/05/16 全球购物
供电工程专业求职信
2014/08/09 职场文书
2015年售票员工作总结
2015/04/29 职场文书
企业愿景口号
2015/12/25 职场文书