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 相关文章推荐
在Django的模板中使用认证数据的方法
Jul 23 Python
分享Python开发中要注意的十个小贴士
Aug 30 Python
Python实现多线程HTTP下载器示例
Feb 11 Python
Python中偏函数用法示例
Jun 07 Python
Flask框架踩坑之ajax跨域请求实现
Feb 22 Python
Python面向对象程序设计构造函数和析构函数用法分析
Apr 12 Python
Scrapy-Redis结合POST请求获取数据的方法示例
May 07 Python
如何实现Django Rest framework版本控制
Jul 25 Python
在Pytorch中计算卷积方法的区别详解(conv2d的区别)
Jan 03 Python
Python网络爬虫信息提取mooc代码实例
Mar 06 Python
java关于string最常出现的面试题整理
Jan 18 Python
matplotlib画混淆矩阵与正确率曲线的实例代码
Jun 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
浅析ThinkPHP缓存之快速缓存(F方法)和动态缓存(S方法)(日常整理)
2015/10/26 PHP
PHP实现QQ登录的开原理和实现过程
2018/02/04 PHP
JavaScript-世界上误解最深的语言分析
2007/08/12 Javascript
js移除事件 js绑定事件实例应用
2012/11/28 Javascript
JavaScript简单实现鼠标拖动选择功能
2014/03/06 Javascript
javascript实现全局匹配并替换的方法
2015/04/27 Javascript
JavaScript中setUTCMilliseconds()方法的使用详解
2015/06/12 Javascript
Node.js实现数据推送
2016/04/14 Javascript
JS模仿手机端九宫格登录功能实现代码
2016/04/28 Javascript
基于JavaScript实现回到页面顶部动画代码
2016/05/24 Javascript
详解Angular中$cacheFactory缓存的使用
2016/08/19 Javascript
nodejs实例解析(输出hello world)
2017/01/03 NodeJs
javascript基本数据类型和转换
2017/03/17 Javascript
JavaScript实现QQ聊天消息展示和评论提交功能
2017/05/22 Javascript
微信小程序渲染性能调优小结
2019/07/30 Javascript
js动态获取时间的方法分析
2019/08/02 Javascript
解析原来浏览器原生支持JS Base64编码解码
2019/08/12 Javascript
用python分割TXT文件成4K的TXT文件
2009/05/23 Python
Python的加密模块md5、sha、crypt使用实例
2014/09/28 Python
PyTorch线性回归和逻辑回归实战示例
2018/05/22 Python
对numpy中的数组条件筛选功能详解
2018/07/02 Python
Python实现的插入排序,冒泡排序,快速排序,选择排序算法示例
2019/05/04 Python
python turtle库画一个方格和圆实例
2019/06/27 Python
Win 10下Anaconda虚拟环境的教程
2020/05/18 Python
浅谈django 重载str 方法
2020/05/19 Python
Keras 快速解决OOM超内存的问题
2020/06/11 Python
详解Open Folder as PyCharm Project怎么添加的方法
2020/12/29 Python
HTML5离线缓存Manifest是什么
2016/03/09 HTML / CSS
美国在线轮胎零售商:SimpleTire
2019/04/08 全球购物
Timberland俄罗斯官方网上商店:全球领先的户外品牌
2020/03/15 全球购物
六十岁生日答谢词
2014/01/10 职场文书
经典婚礼主持词
2014/03/13 职场文书
2014两会学习心得:榜样精神伴我行
2014/03/17 职场文书
学生会主席竞聘书
2014/03/31 职场文书
司机岗位职责说明书
2014/07/29 职场文书
动作冒险《Hell Is Us》将采用虚幻5 消灭怪物探索王国
2022/04/13 其他游戏