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和C++求解方法
Aug 20 Python
python正则分析nginx的访问日志
Jan 17 Python
python的dataframe转换为多维矩阵的方法
Apr 11 Python
python实现随机调用一个浏览器打开网页
Apr 21 Python
python实现多层感知器MLP(基于双月数据集)
Jan 18 Python
对python中的try、except、finally 执行顺序详解
Feb 18 Python
Python数据结构与算法(几种排序)小结
Jun 22 Python
Django rest framework jwt的使用方法详解
Aug 08 Python
Python读入mnist二进制图像文件并显示实例
Apr 24 Python
终于搞懂了Keras中multiloss的对应关系介绍
Jun 22 Python
Django自定义YamlField实现过程解析
Nov 11 Python
OpenCV-Python实现油画效果的实例
Jun 08 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
fetchAll()与mysql_fetch_array()的区别详解
2013/06/05 PHP
php记录代码执行时间(实现代码)
2013/07/05 PHP
PHP关于IE下的iframe跨域导致session丢失问题解决方法
2013/10/10 PHP
php解决约瑟夫环示例
2014/04/09 PHP
CI框架Session.php源码分析
2014/11/03 PHP
thinkPHP5.0框架引入Traits功能实例分析
2017/03/18 PHP
防止浏览器记住用户名及密码的简单实用方法
2013/04/22 Javascript
jQuery中RadioButtonList的功能及用法实例介绍
2013/08/23 Javascript
JS中引用百度地图并将百度地图的logo和信息去掉
2013/09/29 Javascript
自己封装的常用javascript函数分享
2015/01/07 Javascript
招聘网站基于jQuery实现自动刷新简历
2015/05/10 Javascript
js实现头像图片切割缩放及无刷新上传图片的方法
2015/07/17 Javascript
深入理解Node.js 事件循环和回调函数
2016/11/02 Javascript
搭建Bootstrap离线文档的方法
2016/12/02 Javascript
简单理解js的冒泡排序
2016/12/19 Javascript
vue2 如何实现div contenteditable=“true”(类似于v-model)的效果
2017/02/08 Javascript
详细讲解vue2+vuex+axios
2017/05/27 Javascript
JavaScript判断浏览器和hack滚动条的写法
2017/07/23 Javascript
nodejs爬虫初试superagent和cheerio
2018/03/05 NodeJs
详解通过源码解析Node.js中cluster模块的主要功能实现
2018/05/16 Javascript
Element中Slider滑块的具体使用
2020/07/29 Javascript
Python多线程编程(八):使用Event实现线程间通信
2015/04/05 Python
python实现按行切分文本文件的方法
2016/04/18 Python
python图像常规操作
2017/11/11 Python
Python enumerate索引迭代代码解析
2018/01/19 Python
使用python实现画AR模型时序图
2019/11/20 Python
基于virtualenv创建python虚拟环境过程图解
2020/03/30 Python
python3.7+selenium模拟淘宝登录功能的实现
2020/05/26 Python
详解纯CSS3制作的20种loading动效
2017/07/05 HTML / CSS
Shopty西班牙:缝纫机在线销售
2018/01/26 全球购物
西班牙太阳镜品牌:Hawkers
2018/03/11 全球购物
拉斯维加斯酒店、演出、旅游、俱乐部及更多:Vegas.com
2019/02/28 全球购物
《长征》教学反思
2014/04/27 职场文书
安阳殷墟导游词
2015/02/10 职场文书
《开国大典》教学反思
2016/02/16 职场文书
python实现腾讯滑块验证码识别
2021/04/27 Python