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 代码
Sep 07 Python
Python去除、替换字符串空格的处理方法
Apr 01 Python
Python解决两个整数相除只得到整数部分的实例
Nov 10 Python
python获取服务器响应cookie的实例
Dec 28 Python
python使用BeautifulSoup与正则表达式爬取时光网不同地区top100电影并对比
Apr 15 Python
使用Python制作简单的小程序IP查看器功能
Apr 16 Python
用scikit-learn和pandas学习线性回归的方法
Jun 21 Python
Python 音频生成器的实现示例
Dec 24 Python
Python基于class()实现面向对象原理详解
Mar 26 Python
关于Django Models CharField 参数说明
Mar 31 Python
Django-rest-framework中过滤器的定制实例
Apr 01 Python
python 爬虫基本使用——统计杭电oj题目正确率并排序
Oct 26 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
模拟OICQ的实现思路和核心程序(一)
2006/10/09 PHP
PHP的cURL库功能简介 抓取网页、POST数据及其他
2011/04/07 PHP
PDO版本问题 Invalid parameter number: no parameters were bound
2013/01/06 PHP
浅析application/x-www-form-urlencoded和multipart/form-data的区别
2014/06/22 PHP
php文件操作之文件写入字符串、数组的方法分析
2019/04/15 PHP
Yii框架安装简明教程
2020/05/15 PHP
Nginx+php配置文件及原理解析
2020/12/09 PHP
javascript 节点遍历函数
2010/03/28 Javascript
document.getElementById介绍
2011/09/13 Javascript
轻松创建nodejs服务器(10):处理上传图片
2014/12/18 NodeJs
javascript实现完美拖拽效果
2015/05/06 Javascript
JS生成某个范围的随机数【四种情况详解】
2016/04/20 Javascript
基于JS实现textarea中获取动态剩余字数的方法
2016/05/25 Javascript
微信小程序 利用css实现遮罩效果实例详解
2017/01/21 Javascript
js使用xml数据载体实现城市省份二级联动效果
2017/11/08 Javascript
图片加载完成再执行事件的实例
2017/11/16 Javascript
CSS3结合jQuery实现动画效果及回调函数的实例
2017/12/27 jQuery
小谈angular ng deploy的实现
2020/04/07 Javascript
Vue中添加滚动事件设置的方法详解
2020/09/14 Javascript
如何实现小程序与小程序之间的跳转
2020/11/04 Javascript
Python中subprocess模块用法实例详解
2015/05/20 Python
python开发之str.format()用法实例分析
2016/02/22 Python
python的numpy模块安装不成功简单解决方法总结
2017/12/23 Python
Python中is和==的区别详解
2018/11/15 Python
python3使用QQ邮箱发送邮件
2020/05/20 Python
Python 字符串、列表、元组的截取与切片操作示例
2019/09/17 Python
浅析pandas 数据结构中的DataFrame
2019/10/12 Python
康帕斯酒店预订:Compass Hospitality(支持中文)
2018/08/23 全球购物
校班主任推荐信范文
2013/12/03 职场文书
满月酒答谢词
2014/01/14 职场文书
软件项目开发计划书
2014/05/01 职场文书
师范生求职信
2014/06/14 职场文书
人大调研汇报材料
2014/08/14 职场文书
大学拉赞助协议书范文
2014/09/26 职场文书
本科毕业论文指导教师评语
2014/12/30 职场文书
使用numpy实现矩阵的翻转(flip)与旋转
2021/06/03 Python